Hibernate中调用存储过程

简介:
1 存储过程
 
create  or  replace  procedure p_proc 
is 
begin 
insert  into testTable (id, name,age)  values( seq_getid.nextval, 'tiger', '25'); 
end p_proc;
 
2  Hibernate 调用存储过程
 
public     void    insertProcedure() 
  { 
    
Session ses =  this.getHibernateTemplate().getSessionFactory().openSession();    
     try{    
        Connection conn = ses.connection();        
        conn.setAutoCommit( false);    
        String proc= "{Call p_proc()}";    
        CallableStatement st = conn.prepareCall(proc);    
        st.executeUpdate();    
        conn.commit();    
        st.close(); 
        conn.close(); 
        ses.close(); 
    } catch(Exception e){    
        e.printStackTrace();    
    }    
}
 
3 总结
 
Hibernate 调用存储过程要通过Connection对象来做jdbc的操作完成。
 
要是存储过程中有参数只要作一下简单调整上面的代码:
CallableStatement st = conn.prepareCall( "{CALL p_proc(?)}");    
                 st.setString(1,key);    
                 st.execute();
 
现在还没有找到更好的处理存储过程的方法,有待进一步学习。









本文转自 yuwenhu 51CTO博客,原文链接:http://blog.51cto.com/yuwenhu/151399,如需转载请自行联系原作者
目录
相关文章
|
SQL 存储 分布式计算
DataWorks产品使用合集之在DataWorks中调用存储过程(PROCEDURE)如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
440 0
|
10月前
|
存储 Java 关系型数据库
java调用mysql存储过程
在 Java 中调用 MySQL 存储过程主要借助 JDBC(Java Database Connectivity)。其核心原理是通过 JDBC 与 MySQL 建立连接,调用存储过程并处理结果。具体步骤包括:加载 JDBC 驱动、建立数据库连接、创建 CallableStatement 对象、设置存储过程参数并执行调用。此过程实现了 Java 程序与 MySQL 数据库的高效交互。
|
9月前
|
存储 关系型数据库 MySQL
【YashanDB知识库】MySQL返回结果集的存储过程的改写方法
本文介绍了将MySQL存储过程改写至YashanDB的解决方案。由于MySQL存储过程可直接返回结果集,而YashanDB需通过返回SYS_REF_CURSOR的函数实现类似功能,因此需要对代码进行转换。示例中展示了如何将MySQL存储过程`proc1`改写为YashanDB函数,并调整JDBC应用代码以适配REF_CURSOR输出参数,从而正确获取查询结果。此方法确保了跨数据库场景下的兼容性与功能性。
|
存储 SQL NoSQL
|
存储 SQL 关系型数据库
MySql数据库---存储过程
MySql数据库---存储过程
196 5
|
存储 关系型数据库 MySQL
MySQL 存储过程返回更新前记录
MySQL 存储过程返回更新前记录
237 3
|
存储 SQL 关系型数据库
MySQL 存储过程错误信息不打印在控制台
MySQL 存储过程错误信息不打印在控制台
283 1
|
存储 SQL 关系型数据库
MySQL数据库进阶第四篇(视图/存储过程/触发器)
MySQL数据库进阶第四篇(视图/存储过程/触发器)