0 0

为什么Hibernate调用存储过程比JDBC API要快?0

1. 通过JDBC API 更新数据库
    Connection con = session.connection();
    PrepareStatement stmt = con.prepareStatement("update employee set age=age+1 where age>0");
    stmt.executeUpdate();

2. 调存储过程
   CREATE OR REPLACE PROCEDURE updateEmployee() is
   begin
     update employee set age=age+1 where age>0;
   end;

   String procedure = "{call updateEmployee()}";
   Connection con = session.connection();
   CallableStatement stmt = con.prepareCall(procedure);
   stmt.



为什么第二种方式比第一种方式要快?
在我看来,两者都是执行update语句。是因为oracle本身的机制,存储过程比执行sql语句效率高?
2014年8月13日 11:33

3个答案 按时间排序 按投票排序

0 0

采纳的答案

是的 oracle本身的机制导致的, 存储过程是预编译的。也就是说比上面的那个 少了解释编译的过程。

2014年8月14日 11:10
0 0

这事跟hibernate一点关系都没有。 hibernate是如此的笨重,不知道要来干啥。

2014年8月14日 11:06
0 0

存储过程执行效率高,是预编译的

2014年8月13日 17:39

相关推荐

    hibernate框架调用存储过程

    总结来说,Hibernate调用存储过程是通过`StoredProcedureQuery`对象实现的,提供了更简便的对象化API。对比JDBC,Hibernate更注重开发者体验,而JDBC则更适合对数据库操作有深度控制的需求。在实际开发中,根据项目...

    kingbaseV8 hibernate jdbc 驱动

    `hibernate-jpa-2.1-api-1.0.0.Final.jar`是Java Persistence API (JPA) 2.1的实现,JPA是Java EE平台的一部分,提供了一种规范化的ORM接口,与Hibernate等ORM框架进行交互。这个库通常与Hibernate一起使用,以实现...

    jdbc调用存储过程,函数,游标

    本篇文章将详细讲解如何利用JDBC调用存储过程、函数以及处理游标。 首先,存储过程是数据库中预编译的一组SQL语句,它允许我们封装复杂的业务逻辑,提高执行效率,减少网络传输的数据量。在JDBC中调用存储过程通常...

    JDBC调用过程与函数源码

    调用存储过程使用`CallableStatement`,它的执行方式与PreparedStatement类似。注意,过程的调用通常以`{call}`开头,后面跟着过程名和括号内的参数。 ```java CallableStatement cs = conn.prepareCall("{call ...

    jdbc api tutorial and reference

    - **CallableStatement对象**:用于调用存储过程。 - **ResultSet对象**:保存查询结果,提供遍历和访问数据的方法。 - **DriverManager类**:负责注册和管理数据库驱动,建立数据库连接。 3. **事务管理** - *...

    存储过程- 06.在应用程序中调用存储过程

    - **使用API或驱动**:大多数数据库提供API(如Java的JDBC,C#的ADO.NET)或驱动程序,允许开发者在应用程序代码中调用存储过程。例如,在Java中,使用CallableStatement对象可以调用存储过程。 - **SQL命令**:在...

    hibernate调存储过程的方法.txt

    ### Hibernate调用存储过程的方法 在Java开发中,Hibernate是一个非常强大的对象关系映射(ORM)框架,它简化了数据库操作,并提供了丰富的API来处理各种数据访问需求。其中一个常见的应用场景是通过Hibernate调用...

    java-hibernate调用mysql过程和函数的方式.pdf

    综上所述,Java-Hibernate调用MySQL过程和函数主要依赖JDBC的`CallableStatement`接口,通过预编译的SQL语句,注册参数,执行调用,并获取结果。这个过程需要对JDBC API有深入理解,同时也需要注意错误处理和资源...

    JDBC API 参考教程第三版

    - **CallableStatement对象**:用于调用存储过程。 ### 4. 结果集处理 - **ResultSet对象**:保存查询结果,支持迭代访问。可以通过`next()`方法移动游标,`getString()`, `getInt()`等方法获取列值。 ### 5....

    JAVA调用存储过程的三种方法

    JDBC(Java Database Connectivity)是Java中访问数据库的标准API,可以直接使用JDBC来调用存储过程。 ##### 2.1 创建CallableStatement对象 我们可以使用`Connection`对象的`prepareCall`方法来创建一个`...

    JDBC API数据库编程实作教材

    - CallableStatement接口用于调用存储过程,可以处理输入/输出参数和返回值。 4. **批处理** - 批处理能一次提交多条SQL语句,提高性能,减少网络传输次数。 - 使用addBatch()方法添加SQL到批处理队列,...

    Hibernate3.2.6源代码以及英文api

    8. **事务管理**:Hibernate支持JTA(Java Transaction API)和JDBC事务管理,确保数据操作的原子性、一致性、隔离性和持久性。 9. **第一级缓存和第二级缓存**:`Session`具有第一级缓存,用于存储单个会话内的...

    存储过程学习经典[语法+实例+调用]

    使用Java JDBC API可以直接调用Oracle存储过程,通过`CallableStatement`实现。 #### 七、Oracle高效分页存储过程实例 为了实现高效的分页查询,可以设计专门的存储过程来处理分页逻辑,使用游标、变量等技术实现...

    分别使用Hibernate和JDBC操作数据库

    在IT行业中,数据库操作是应用程序开发的核心部分,无论是Web应用还是桌面应用,都需要与数据库进行交互来存储和检索数据。本话题将详细探讨两种常见的Java技术:Hibernate和JDBC,用于实现这一目标。 **JDBC(Java...

    Hibernate3.6中文API帮助文档

    - 支持存储过程的调用。 - 可自定义类型,扩展Hibernate对特定数据类型的处理。 综上所述,"Hibernate3.6中文API帮助文档"涵盖了从基础配置到高级特性的全面内容,是Java开发者学习和使用Hibernate不可或缺的参考...

    JAVA调用存储过程

    综上所述,Java调用存储过程涉及到JDBC API的使用,包括建立连接、创建CallableStatement、设置和获取参数、执行存储过程以及关闭资源。熟练掌握这些步骤对于进行数据库交互的Java开发至关重要。

    JDBC API数据库编程实作教程 PDF

    - `CallableStatement`接口:用于调用数据库存储过程。 4. **结果集处理** - `ResultSet`对象:存储查询结果,提供遍历数据的方法。 - 如何遍历和操作结果集,包括获取列值、更新行数据等。 5. **事务处理** -...

    jdbc+hibernate的jar包

    4. `org.hibernate.Query`和`org.hibernate Criteria`:用于执行HQL(Hibernate Query Language)和Criteria API查询,比直接使用SQL更加灵活。 在使用Hibernate时,我们需要定义实体类(对应数据库表),使用注解...

    JAVA数据库编程JDBC 与 Java数据库接口JDBC入门基础讲座 与 JDBC API数据库编程实作教材-程序设计-JAVA JDBC全压缩包.rar

    3. **存储过程的调用**:如何在JDBC中执行存储过程并获取返回值。 4. **游标的使用**:理解不同类型的游标,如只读、可滚动和可更新游标。 5. **数据库连接的自动重连策略**:当数据库连接因网络问题中断时,如何...

Global site tag (gtag.js) - Google Analytics