在Hibernate中调用存储过程的示范代码
2008-10-14 15:40
169 查看
在Hibernate中调用存储过程的示范代码- -
如果底层数据库(如Oracle)支持存储过程,也可以通过存储过程来执行批量更新。存储过程直接在数据库中运行,速度更加快。在Oracle数据库中可以定义一个名为batchUpdateStudent()的存储过程,代码如下:create or replace procedure batchUpdateStudent(p_age in number) as
begin
update STUDENT set AGE=AGE+1 where AGE>p_age;
end;
以上存储过程有一个参数p_age,代表学生的年龄,应用程序可按照以下方式调用存储过程:
tx = session.beginTransaction();
Connection con=session.connection();
String procedure = "{call batchUpdateStudent(?) }";
CallableStatement cstmt = con.prepareCall(procedure);
cstmt.setInt(1,0); //把年龄参数设为0
cstmt.executeUpdate();
tx.commit();
在以上代码中,我用的是Hibernate的 Transaction接口来声明事务,而不是采用JDBC API来声明事务。
相关文章推荐
- 在Hibernate中调用存储过程的示范代码
- oracle 存储过程定义及调试,并最终被C# 调用 代码
- Hibernate3调用存储过程用法
- C#调用 Oracle 存储过程样例代码
- SSH框架的hibernate调用存储过程并拿到存储过程的返回值
- Hibernate调用mysql5.0存储过程小记
- hibernate调用mysql存储过程
- Sql Server的存储过程与Java代码相连接调用(二)
- hibernate调用mysql5.0存储过程
- 存储过程与触发器Web调用代码
- hibernate调用存储过程及处理返回集合
- Hibernate调用存储过程和函数
- sqlserver 存储过程动态参数调用实现代码
- java代码中调用存储过程导致的事务失效
- asp.net SQL Server 存储过程分页及代码调用
- Hibernate 存储过程的调用(转)
- hibernate调用存储过程
- hibernate调用mysql存储过程
- Hibernate 调用无参存储过程
- hibernate的update() 更新延迟或者无法更新,导致同个service调用存储过程执行方法不精确