资源描述:
《hibernate3.0使用mysql存储过程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、摘要:本文以详尽的实例展示了hibernate3.x中调用存储过程各步骤,从建立测试表、存储过程的建立、工程的建立以及类的编写和测试一步一步引导用户学习hibernate3.x中调用存储过程的方法.如果底层数据库(eg.Oracle、mysql、sqlserver)等支持存储过程,可通过存储过程执行批量删除、更新等操作。本文以实例说明在hibernate3.x中如何调用存储过程。 说明:本例hibernate所用版本为3.0,mysql所用版本为5.0,所用数据库驱动为mysql-connector-java-5.0.4-bin.
2、jar。一. 建表与初始化数据 在mysql的test数据库中建立一张新表:tbl_user,建表语句如下: DROPTABLEIFEXISTS`user`;CREATETABLE`tbl_user`( `userid`varchar(50)NOTNULL, `name`varchar(50)default'', `blog`varchar(50)default'', PRIMARYKEY (`userid`))ENGINE=InnoDBDEFAULTCHARSET=gb2312; 建表成功后,在该表
3、中插入如下4条初始数据,对应的sql语句如下:INSERTINTO`tbl_user`(`userid`,`name`,`blog`)VALUES('ant','蚂蚁','http://www.blogjava.net/qixiangnj');INSERTINTO`tbl_user`(`userid`,`name`,`blog`)VALUES('beansoft','bean','http://www.blogjava.net/beansoft');INSERTINTO`tbl_user`(`userid`,`name`,`blog
4、`)VALUES('sterning','似水流年','http://www.blogjava.net/sterning');INSERTINTO`tbl_user`(`userid`,`name`,`blog`)VALUES('tom','tom','http://www.blogjava.net/tom'); 二. 建立存储过程为测试hibernate3.x中存储过程的调用,我们在user表中建立getUserList、createUser、updateUser和deleteUser这四个存储过程,在mys
5、ql中建立存储过程的语句如下:1.获得用户信息列表的存储过程--getUserListDROPPROCEDUREIFEXISTS`getUserList`;CREATEPROCEDURE`getUserList`()begin select*from tbl_user;end; 2.通过传入的参数创建用户的存储过程--createUserDROPPROCEDUREIFEXISTS`createUser`;CREATEPROCEDURE`createUser`(INuseridvarchar(50),INnamevarchar(
6、50),INblogvarchar(50))begin insertintotbl_uservalues(userid,name,blog);end; 3.通过传入的参数更新用户信息的存储过程--updateUserDROPPROCEDUREIFEXISTS`updateUser`;CREATEPROCEDURE`updateUser`(INnameValuevarchar(50),INblogValuevarchar(50),INuseidValuevarchar(50))begin updatetbl_usersetna
7、me=nameValue,blog=blogValuewhereuserid=useridValue;end; 4.删除用户信息的存储过程--deleteUserDROPPROCEDUREIFEXISTS`deleteUser`;CREATEPROCEDURE`deleteUser`(INuseridValueint(11))begin deletefromtbl_userwhereuserid=useridValue;end;三. 编程前准备工作1. 建立工程在进入代码编写前,建立新的java工程pr
8、oc,目录结构如下:proc -lib -bin -src -com -amigo -proc -model2. 引入所需包 将hibernate3.0的包以及其