所属类别:Java
文章作者:IT168 Amigo
特别推荐:免费发布信息 承包关键词~~抢爆了!HOT!
稿】本文以详尽的实例展示了hibernate3.x中调用存储过程各步骤,从建立测试表、存储过程的建立、工程的建立以及类的编写和测试一步一步引导用户学习hibernate3.x中调用存储过程的方法。如果底层数据库(eg. Oracle、mysql、sqlserver)等支持存储过程,可通过存储过程执行批量删除、更新等操作。本文以实例说明在hibernate3.x中如何调用存储过程。 说明:本例hibernate所用版本为3.0,mysql所用版本为5.0,所用数据库驱动为mysql-connector-java-5.0.4-bin.jar。
一.建表与初始化数据 在mysql的test数据库中建立一张新表:tbl_user,建表语句如下: DROP TABLE IF EXISTS `user`;CREATE TABLE `tbl_user` ( `userid` varchar(50) NOT NULL, `name` varchar(50) default '', `blog` varchar(50) default '', PRIMARY KEY (`userid`)) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
建表成功后,在该表中任意插入几条数据。
二.建立存储过程为测试hibernate3.x中存储过程的调用,我们在user表中建立getUserList、createUser、updateUser和deleteUser这四个存储过程,在mysql中建立存储过程的语句如下:1. 获得用户信息列表的存储过程--getUserList DROP PROCEDURE IF EXISTS `getUserList`;CREATE PROCEDURE `getUserList`()begin select * from tbl_user;end;
2. 通过传入的参数创建用户的存储过程--createUser DROP PROCEDURE IF EXISTS `createUser`;CREATE PROCEDURE `createUser`(IN userid varchar(50), IN name varchar(50), IN blog varchar(50))begin insert into tbl_user values(userid, name, blog);end;
3. 通过传入的参数更新用户信息的存储过程--updateUserDROP PROCEDURE IF EXISTS `updateUser`;CREATE PROCEDURE `updateUser`(IN nameValue varchar(50), IN blogValue varchar(50), IN useidValue varchar(50))begin update tbl_user set name = nameValue, blog = blogValue where userid = useridValue;end;
4. 删除用户信息的存储过程--deleteUserDROP PROCEDURE IF EXISTS `deleteUser`;CREATE PROCEDURE `deleteUser`(IN useridValue int(11))begin delete from tbl_user where userid = useridValue;end;
相关信息· InstallShield 定制皮肤的补充说明
· 千千静听 用感觉满足你挑剔的耳朵
· 重读2.4 005 mm/bootmem.c
· 不同无线网保证络安全需注意的要点
71651
97146
