hibernate呼叫儲存過程

2021-05-24 12:54:51 字數 1470 閱讀 2585

drop table if exists `user`;

create table `user` (

`id` int(11) not null auto_increment,

`name` varchar(16) not null default '',

`remark` varchar(16) not null default '',

primary key (`id`)

) engine=innodb auto_increment=24 default charset=utf8;

二、建立儲存過程

1、獲取使用者資訊

create definer=`root`@`localhost` procedure `getuserlist`()

begin

select * from user;

end;

2、通過傳入引數建立使用者

create definer=`root`@`localhost` procedure `insertuser`(namevar varchar(16),remarkvar varchar(16))

begin

insert into user(name,remark) values(namevar,remarkvar);

end;

三、user.hbm.xml

四、呼叫

1、獲取使用者資訊

session session = hibernatesessionfactory.getsession();

query query = session.getnamedquery("getuserlist");

//query.setstring(0, "");設定引數

listlist = query.list();

for(user user:list)

2、通過傳入引數建立使用者

session session = hibernatesessionfactory.getsession();

transaction tx = session.begintransaction();

connection conn = session.connection();

string proc = "call insertuser(?,?)";

callablestatement cs = conn.preparecall(proc);

cs.setstring(1, "linrz");

cs.setstring(2, "remark");

cs.execute();

tx.commit();

呼叫查詢儲存過程時,呼叫session.getnamedquery("…")方法來獲得user.hbm.xml中配置的查詢儲存過程。其餘儲存過程的呼叫,先通過hibernate的session獲得connection,然後呼叫connection物件的相應方法來實現儲存過程的呼叫。

hibernate呼叫儲存過程

一 建表 drop table if exists user create table user id int 11 not null auto increment,name varchar 16 not null default remark varchar 16 not null default...

hibernate 呼叫儲存過程

create table proctab id int 11 not null auto increment,name varchar 20 age int 11 primary key id 簡單的儲存過程 create procedure proc begin select from proct...

Hibernate呼叫執行儲存過程

執行儲存過程的方法 儲存過程僅僅支援輸入引數的使用,並且無返回值的以後擴充套件資訊 param procedurename 儲存過程的名稱 param paramlist 備註 mapparamlist 其中string 引數 object輸入的引數物件 儲存過程引數的資訊 public void ...