共有两种方式
第一种
----------------------------------
----------------------------------
---
CallableStatement cstmt =
hibernateTemplate.getSessionFactory
().getCurrentSession().connection
().prepareCall("{call proc_name}");
cstmt.executeUpdate();
----------------------------------
----------------------------------
----
第二种
----------------------------------
----------------------------------
----
hibernateTemplate.execute(
new HibernateCallback()
{
public Object doInHibernate
(Session session) throws
SQLException
{
CallableStatement cs =
session.connection().prepareCall
("{call proc_name}");
cs.executeUpdate();
return null;
}
}
);
hibernate3.0以上提供了两种方式执行存储过程。
第一种 :用JDBC 方式
Session session =HibernateSessionFactory.getSession(); //获取hibernate会话
Connection conn = session.connection(); // 用session对象获取连接
ResultSet rs =null;
try
{
CallableStatement call = conn.prepareCall("{Call pro_getManager(?,?)}");
call.setString(1, "admin");
call.setString(2, "admin");
rs = call.executeQuery();
}
catch (Exception e)
{
e.printStackTrace();
}finally
{
rs.close();//关闭
session.close();//关闭连接
HibernateSessionFactory.closeSession(); //关闭会话
}
这种方式本人感觉与hibernate结合不很紧密,还难以控制,还要自己控制关闭
第二种: 用hibernate中SQLQuery 接口执行,其实与执行sql没有两样。
Session session =HibernateSessionFactory.getSession(); //获取hibernate会话
String procName="{Call pro_getManager(?,?) }";
SQLQuery query = session.createSQLQuery(proc);
query.setString(0, "admin");
query.setString(1, "admin");
List list =query.list();
session.close();
HibernateSessionFactory.closeSession();
SQLQuery 接口功能很强大吧
分享到:
相关推荐
关于使用HibernateTemplate
对Spring框架中,HibernateTemplate的使用,底层dao中HibernateTemplate的使用以及HibernateCallBack调用等等
HibernateTemplate的方法部分使用,还有部分的个人见解,有错的,请指出,谢谢
spring HibernateTemplate汇总
hibernateTemplate的常用方法
SSH2增删改查使用HibernateTemplate
HibernateTemplate 的常规用法.doc HibernateTemplate 的常规用法.doc
HibernateTemplate类的使用
HibernateTemplate的简单示例
HibernateTemplate的用法总结,我自己整理的,仅供参考
hibernateTemplate常用方法.htm
HibernateTemplat技术,此文档详细描述了HibernateTemplate的方法及功能说明,并有实例。
HibernateTemplate源代码
Spring整合hibernate(2)之基于HibernateTemplate的整合,jar需要自己添加!
GenericHibernateDao 继承 HibernateDao,简单封装 HibernateTemplate 各项功能,简化基于Hibernate Dao 的编写。
对于Hiberante对数据库种数据删除操作的归纳
JavaWeb开发,Sping框架,才用Hibernate Template进行字段截取,分组统计实现方法。
基于HIbernateTemplate的代码自动生成,能够自动生成dao和service文件,提高开发效率
spring hibernatetemplate