Welcome 微信登录

首页 / 数据库 / MySQL / Hibernate 调用存储过程返回列表

1、使用存储过程     (1)建立程序包 Sql代码
  1. CREATE   OR   REPLACE   PACKAGE   TESTPACKAGE     AS  
  2.   
  3.   TYPE   Test_CURSOR   IS   REF   CURSOR;   
  4.   
  5. end   TESTPACKAGE; 
(2)建立存储过程Sql代码
  1. CREATE   OR   REPLACE   PROCEDURE   TESTC(p_CURSOR   out   TESTPACKAGE.Test_CURSOR)   IS     
  2. BEGIN  
  3.         OPEN   p_CURSOR   FOR   SELECT   *   FROM   testTable;   
  4. END   TESTC;   
2、使用FUNCTIONSql代码
  1. CREATE OR REPLACE FUNCTION  seletall   
  2.     RETURN SYS_REFCURSOR   
  3. AS  
  4.    test_cur SYS_REFCURSOR;   
  5. BEGIN  
  6.     OPEN test_cur for    
  7.     select * from emp;   
  8.   
  9.      return test_cur;   
  10. END;   
3、hibernate配置Xml代码
  1. <class name="Emp" table="emp">     
  2.         <id name="id" column="id">     
  3.             <generator class="native"/>     
  4.         </id>     
  5.         <property name="name" column="name" type="string" />     
  6.         <property name="age" column="age" type="integer" />     
  7. </class>     
  8.    <sql-query name="getEmp" callable="true">     
  9.      <return alias="emp" class="Emp">     
  10.      <return-property name="id" column="id" />     
  11.      <return-property name="name" column="name" />     
  12.      <return-property name="age" column="age" />     
  13.      </return>     
  14.      {call proc()}     
  15.    </sql-query>    
4、JAVA代码Java代码
  1. Session ss= HibernateSessionFactory.getSession()     
  2. List li=ss.getNamedQuery("getEmp").list();     
  3. ss.close();    
HIbernate 调用Oracle存储过程Oracle for update of 和 for update区别相关资讯      hibernate 
  • Hibernate利用@DynamicInsert和@  (今 07:09)
  • Hibernate某些版本(4.3)下报错   (04月20日)
  • Hibernate 5.1.0 正式版发布下载  (02月12日)
  • Hibernate的get和load的区别  (08月07日)
  • Hibernate3.1.2_中文文档PDF  (02月17日)
  • Hibernate ORM 5.0.6 发布下载  (12/17/2015 17:12:55)
本文评论 查看全部评论 (0)
表情: 姓名: 字数