开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Mybatis-9-调用存储过程
存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集。经编译后存储在数据库中。现在要使用Mybatis调用数据库的存储过程。
0 0
Mybatis调用存储过程
调用存储过程 mybatis调用存储过程时需要指定statementType="CALLABLE",这样Mybatis内部中调用sql语句时将采用CallableStatementHandler,而CallableStatementHandler内部将使用CallableStatement来调用存储过程。
582 0
mybatis调用视图和存储过程
    现在的项目是以Mybatis作为O/R映射框架,确实好用,也非常方便项目的开发。MyBatis支持普通sql的查询、视图的查询、存储过程调用,是一种非常优秀的持久层框架。它可利用简单的XML或注解用语配置和原始映射,将接口和java中的POJO映射成数据库中的纪录。
1106 0
MyBatis调用存储过程
1 存储过程 create or replace procedure pro_hello(p_user_name in varchar2,p_result out varchar2) is begin   p_result := 'hello,' || p_user_name; end;2 编写SQL映射文件mapper.xml <select id="proHello"
1326 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载