Hibernate调用Oracle的存储过程
来源:互联网 发布:澳大利亚旅游 知乎 编辑:程序博客网 时间:2024/04/30 10:33
1.plsql 代码
proc.plsql
create Procedure proc()begin select * from proctab;end;
1 create procedure proc1(v_no number(4))2 begin3 select * from proc14 where id=v_no;5 end;
2.Hibernate 存储过程调用的一种方法是,通过XML传统的映射方式去调用。
-》存储过程映射和领域模型中的实体的对应关系
xml映射文件
1 <class name="com.test.User" table="proctab"> 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="getUser" callable="true"> 9 <return alias="user" class="com.test.User"> 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>
-》Hibernate API 对存储过程的调用
Hibernate API code
1 Session ss= HibernateSessionFactory.getSession() 2 List li=ss.getNamedQuery("getUser").list(); 3 ss.close(); 4 5 Session ss= HibernateSessionFactory.getSession() 6 List li=ss.getNamedQuery("getUser").list(); 7 ss.close();
-》JDBC API 对存储过程的调用
jdbc 调用
1 Session session =HibernateSessionFactory.getSession(); 2 Connection conn = session.connection(); 3 ResultSet rs =null; 4 CallableStatement call = conn.prepareCall("{Call proc()}"); 5 rs = call.executeQuery(); 6 rs.close(); 7 session.close(); 8 9 Session session =HibernateSessionFactory.getSession(); 10 Connection conn = session.connection(); 11 ResultSet rs =null; 12 CallableStatement call = conn.prepareCall("{Call proc()}"); 13 rs = call.executeQuery(); 14 rs.close(); 15 session.close();
-》直接使用 Hibernate createQuerySql调用存储过程
createSqlQuery
1 Session session =HibernateSessionFactory.getSession(); 2 SQLQuery query = session.createSQLQuery("{Call proc()}"); 3 List list =query.list(); 4 session.close(); 5 6 Session session =HibernateSessionFactory.getSession(); 7 SQLQuery query = session.createSQLQuery("{Call proc()}"); 8 List list =query.list(); 9 session.close();
-》通过Hibernate API或者JDBC,API给存储过程传参
传参1
1 CallableStatement call = conn.prepareCall("{Call proc(?)}"); 2 call.setString(1, 参数); 3 rs = call.executeQuery(); 4 5 CallableStatement call = conn.prepareCall("{Call proc(?)}"); 6 call.setString(1, 参数); 7 rs = call.executeQuery();
传参2
1 SQLQuery query = session.createSQLQuery("{Call proc(?)}"); 2 query.setString(0, 参数); 3 List list =query.list();
0 0
- Hibernate调用Oracle的存储过程
- Hibernate调用Oracle的存储过程
- Hibernate调用Oracle的存储过程
- Hibernate怎么调用Oracle的存储过程
- hibernate调用oracle的存储过程
- hibernate 调用oracle存储过程
- hibernate调用oracle存储过程
- hibernate调用oracle存储过程
- Hibernate 调用ORACLE 存储过程
- hibernate调用oracle的带有返回值的存储过程
- java 调用Oracle 存储过程 Jdbc/Hibernate
- hibernate调用oracle存储过程案列
- oracle存储过程创建,hibernate调用存储过程
- Oracle 存储过程,Hibernate 调用存储过程,JDBC调用存储过程,Oracle 动态SQL
- Oracle存储过程的调用
- Oracle存储过程的调用
- Oracle存储过程的调用
- Oracle存储过程的调用
- 美化MFC控件,OnCtlColor() in MFC
- emoji 表情 编码整理
- Hdu acm 3486 step5.3.6(树状数组)
- 一步步学习SPD2010--第二章节--处理SP网站(3)--创建网站层次架构
- Jxl简单使用(Excel)
- Hibernate调用Oracle的存储过程
- [Linux/Ubuntu] vi/vim 使用方法讲解
- 总结了Struts1与Struts2的11点区别
- 剑指offer(35)-两链表的第一个公共结点[数据结构]
- Ubuntu12.04搭建BigBlueButton
- 【SQL Server数据迁移】64位的机器:SQL Server中查询ORACLE的数据
- u-boot.lds 如何定位代码在flash和内存中地址
- 2014.03.13-生命的意义到底在于什么?
- 我们为什么要使用NodeJS