下面是hibernate调用oracle proc 的一个function
public Integer[] getText(String startTime, String endTime,
int timeType, int spID ,String mdn) {
Integer[] listCount = {0,0};
Integer newBlackCount = 0 ;
Integer blackTotalCount = 0 ;
Session session = null;
Connection con = null;
CallableStatement cstmt = null;
Transaction tr = null;
try {
session = getHibernateTemplate().getSessionFactory().openSession();
tr = session.beginTransaction();
con = session.connection();
cstmt = con.prepareCall("{call getBlackListCount(?,?,?,?,?,?,?)}");
cstmt.setString(1, startTime);
cstmt.setString(2, endTime);
cstmt.setInt(3, timeType);
cstmt.setInt(4, spID);
cstmt.registerOutParameter(5, java.sql.Types.INTEGER); //设置返回参数类型
cstmt.registerOutParameter(6, java.sql.Types.INTEGER);
cstmt.setString(7, mdn);
cstmt.executeUpdate();
newBlackCount = cstmt.getInt(5);//获取返回参数
blackTotalCount = cstmt.getInt(6);
if(newBlackCount > 0 ){
listCount[0] = newBlackCount ;
}
if(blackTotalCount > 0 ){
listCount[1] = blackTotalCount ;
}
tr.commit();
} catch (HibernateException e) {
e.printStackTrace();
tr.rollback();
log.error(e.getMessage());
} catch (SQLException e) {
e.printStackTrace();
tr.rollback();
log.error(e.getMessage());
} catch (Exception e) {
e.printStackTrace();
log.error("error", e);
} finally {
;
}
return listCount;
}
java小生 与大家共同进步 希望多多指点!
http://www.1diaocha.com/user/Register.aspx?account=soqian
分享到:
相关推荐
本篇文章将深入探讨如何使用Hibernate的Query接口来调用Oracle的存储过程和函数,以及提供相关的示例代码和数据库文件。 首先,让我们了解什么是存储过程和函数。存储过程是预编译的SQL语句集合,可以接受参数、...
在hibernate中调用oracle中的存储过程的详细代码。可以借鉴使用,帮助学习。
本文将从 Oracle 存储过程的基础知识开始,逐步深入到 Oracle 存储过程的高级应用,包括 Hibernate 调用 Oracle 存储过程和 Java 调用 Oracle 存储过程的方法。 Oracle 存储过程基础知识 Oracle 存储过程是 Oracle...
总的来说,Hibernate调用Oracle函数涉及到了数据库设计、ORM框架的使用、原生SQL查询和结果映射等多个方面,熟练掌握这些技能对于开发高质量的企业级应用至关重要。希望这篇文章能帮助你更好地理解和应用这些知识。
本篇文章将深入探讨如何使用Java调用Oracle存储过程,并通过游标获取存储过程中返回的临时表数据。 首先,Oracle存储过程是一种在数据库端执行的预编译SQL语句和PL/SQL代码集合。它可以接收参数、执行业务逻辑并...
- **Hibernate调用Oracle存储过程**:Hibernate框架支持调用存储过程,通过映射配置文件或注解指定存储过程的调用方式。 - **用Java调用Oracle存储过程**:使用`CallableStatement`接口来调用存储过程,设置输入...
在 Spring Boot 项目中,我们也可以使用 Hibernate 的 SessionFactory 来获取 Session,然后使用 Session 来调用 Oracle 存储过程。下面是一个示例代码: ```java @Repository public class ProdureDAO { @...
调用 Oracle 存储过程需要使用 Hibernate 的存储过程调用机制。 七、 用 Java 调用 Oracle 存储过程总结 用 Java 调用 Oracle 存储过程可以使用 JDBC 或 Oracle 的java驱动程序。下面是用 Java 调用 Oracle 存储...
Hibernate调用Oracle存储过程涉及到使用Hibernate框架来实现JDBC操作。在Java中调用Oracle存储过程可以通过JDBC API来完成。在调用时,可以根据存储过程是否有返回值来进行区分处理。无返回值的存储过程只需要执行...
4. **Hibernate调用Oracle存储过程** Hibernate作为Java持久层框架,可通过`Session.createSQLQuery()`或`StoredProcedureQuery`来调用存储过程。 - 无返回值的存储过程:直接执行不获取结果。 - 有返回值的存储...
6. 通过Hibernate调用Oracle存储过程,需要配置和编写映射元数据,以便ORM框架能够正确地调用和处理返回值。 7. 使用Java调用Oracle存储过程分为三种情况:无返回值的过程、有单个返回值的过程和返回列表的过程。 *...
4. **Hibernate调用Oracle存储过程**:ORM框架如Hibernate可以调用存储过程,分为无返回值、有返回值和返回列表的存储过程。无返回值的过程直接调用,有返回值的过程通过`CallableStatement`的`registerOutParameter...
- Hibernate调用Oracle存储过程需要配置JDBC驱动,并使用`CallableStatement`来执行存储过程。 4. Java调用Oracle存储过程: - 无返回值的存储过程:使用`CallableStatement`的`execute()`方法。 - 有返回值的非...
以下是对Oracle存储过程的详细解释和实例分析。 1. **Oracle 存储过程基础知识** - 存储过程由PL/SQL(Procedural Language/SQL)编写,它结合了SQL的查询能力与编程语言的控制结构。 - 存储过程可以接受参数,...
Hibernate调用Oracle存储过程 Hibernate框架支持直接调用存储过程,通过配置映射文件或注解实现。 ##### 2. Java直接调用Oracle存储过程 使用Java JDBC API可以直接调用Oracle存储过程,通过`CallableStatement`...
5. **调用Oracle存储过程**:通过Java或Hibernate等工具调用Oracle存储过程,需要注意参数传递和结果集的处理。 #### 动态SQL与存储过程 在存储过程中执行动态SQL,有两种主要方式: 1. **本地动态SQL**:适用于...
6. Hibernate调用Oracle存储过程: 在Java应用中,使用Hibernate框架可以方便地调用Oracle存储过程。如示例所示,通过`getHibernateTemplate().execute()`方法传递一个`HibernateCallback`,然后在回调方法中创建并...
在Java的持久化框架Hibernate中,调用数据库的存储过程是一项常见的需求。本文将深入探讨在Hibernate3中如何实现这一功能,以及相关的知识点。 一、为什么要使用存储过程 存储过程是预编译的SQL语句集合,它们在...