网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Hibernate中怎么调用存储过程

Hibernate中怎么调用存储过程,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

天元ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

下边是简单的Hibernate存储过程

Java代码:

create   PROCEDURE  proc()      begin         select   *   from  proctab;      end ;   create   PROCEDURE  proc()   begin      select   *   from  proctab;   end ;

Hibernate存储过程调用的一种方法是通过Hibernate传统的xml映射方式去调用。

Java代码:

                                                                                                                                              {call proc()}                                                                                                                   {call proc()}     

调用方法 Java代码:

Session ss= HibernateSessionFactory.getSession()     List li=ss.getNamedQuery("getUser").list();     ss.close();             Session ss= HibernateSessionFactory.getSession()          List li=ss.getNamedQuery("getUser").list();          ss.close();

及其类似jdbc的方法 Java代码:

Session session =HibernateSessionFactory.getSession();      Connection conn = session.connection();      ResultSet rs =null;     CallableStatement call = conn.prepareCall("{Call proc()}");     rs = call.executeQuery();     rs.close();     session.close();     Session session =HibernateSessionFactory.getSession();   Connection conn = session.connection();   ResultSet rs =null;  CallableStatement call = conn.prepareCall("{Call proc()}");  rs = call.executeQuery();  rs.close();  session.close();

这种方法基本上就是jdbc,不过很简单,总是感觉怪怪的~还有就是通过强大的createSQLQuery来实现,o(∩_∩)o...哈哈  个人比较喜欢这种方法

Java代码:

Session session =HibernateSessionFactory.getSession();      SQLQuery query = session.createSQLQuery("{Call proc()}");     List list =query.list();     session.close();     Session session =HibernateSessionFactory.getSession();   SQLQuery query = session.createSQLQuery("{Call proc()}");  List list =query.list();  session.close();

如果没有返回值 直接用execute的方法就可以了,(*^__^*)  忘了一个重要的问题就是Hibernate存储过程的传参问题


Java代码:

CallableStatement call = conn.prepareCall("{Call proc(?)}");     call.setString(1, 参数);     rs = call.executeQuery();     CallableStatement call = conn.prepareCall("{Call proc(?)}");  call.setString(1, 参数);  rs = call.executeQuery();

Java代码:

SQLQuery query = session.createSQLQuery("{Call proc(?)}");     query.setString(0, 参数);     List list =query.list();

看完上述内容,你们掌握Hibernate中怎么调用存储过程的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


网站栏目:Hibernate中怎么调用存储过程
文章出自:http://bjjierui.cn/article/gjoeph.html

其他资讯