0 0

PreparedStatement 的 execute方法和executeUpdate方法有性能方面的区别吗15

如题 如题 如题
PreparedStatement pstmt = conn.prepareStatement(insert ........)
2011年5月04日 16:17

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

0 0

executeUpdate()性能占优。
它对select语句根本就不会处理。
execute()则要判断statement到底是哪一类sql,从而进入不同的处理逻辑。它的逻辑里包含了executeUpdate()的处理逻辑。

2011年5月08日 18:59
0 0

看具体的实现吧,性能上的问题应该不会有太大差别....
-
不过,知道SQL语句是什么样的,使用明确具体的API,代码可读性高.维护也好.
另外,也要看看执行后需要获取什么样的结果使用合适的API..

性能上的考虑应该不在这个层面上.

2011年5月07日 16:34
0 0


方法executeUpdate

  用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个整数(int),指示受影响的行数(即更新计数)。对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。


方法execute
可用于执行任何SQL语句,返回一个boolean值,表明执行该SQL语句是否返回了ResultSet。如果执行后第一个结果是ResultSet,则返回true,否则返回false。但它执行SQL语句时比较麻烦,通常我们没有必要使用execute方法来执行SQL语句,而是使用executeQuery或executeUpdate更适合,但如果在不清楚SQL语句的类型时则只能使用execute方法来执行该SQL语句了
显然方法execute多了判断是否有结果集返回

2011年5月04日 18:40
0 0

在API中介绍很清楚:
execute()
          在此 PreparedStatement 对象中执行 SQL 语句,该语句可以是任何种类的 SQL 语句。

executeUpdate()
          在此 PreparedStatement 对象中执行 SQL 语句,该语句必须是一个 SQL 数据操作语言(Data Manipulation Language,DML)语句,比如 INSERT、UPDATE 或 DELETE 语句;或者是无返回内容的 SQL 语句,比如 DDL 语句。


如果你明确了你要执行的sql语句,能executeUpdate()执行,肯定是executeUpdate() 性能好。

2011年5月04日 16:35

相关推荐

    JDBC中PreparedStatement接口提供的execute、executeQuery和executeUpdate之间的区别及用法

    JDBC 中 PreparedStatement 接口提供的 execute、executeQuery 和 executeUpdate 之间的区别及用法 JDBC 中的 PreparedStatement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute。...

    execute、executeQuery和executeUpdate之间的区别

    ### Execute、ExecuteQuery和ExecuteUpdate之间的区别 在Java开发中,尤其涉及到数据库操作时,`execute`, `executeQuery` 和 `executeUpdate` 这三个方法是JDBC编程中非常重要的一部分。它们分别适用于不同类型的...

    如何获得PreparedStatement最终执行的sql语句

    在实际应用中,如果需要获取动态构建的SQL,可能需要自定义一个`PreparedStatement`的代理类,覆盖`execute`或`executeQuery`方法,然后在这个代理类中拼接和打印出最终的SQL。但这需要对JDBC有深入的理解,并且需要...

    JDBC基础教程之PreparedStatement.doc

    - `PreparedStatement`提供了修改后的`execute`, `executeQuery`和`executeUpdate`方法,这些方法不再接受SQL语句作为参数。 - 而是直接执行预编译过的SQL语句,提高了执行效率。 #### 三、创建`...

    JAVA学习使用JDBC的高级特征创建应用程序PPT教案学习.pptx

    在JDBC中,PreparedStatement接口是Statement接口的一个子接口,它提供了预编译的SQL语句,这对于处理动态参数和提高性能非常关键。下面将详细讨论PreparedStatement接口的高级特性以及如何在应用程序中使用它们。 ...

    java反射封装jdbc全部方法

    Java反射是Java语言提供的一种强大的动态类型特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性和方法。在Java数据库连接(JDBC)编程中,反射经常被用来动态调用数据库操作方法,如执行...

    详解Java的JDBC中Statement与PreparedStatement对象

    如同Statement,PreparedStatement也有执行SQL的方法,如`execute()`, `executeQuery()`, 和 `executeUpdate()`,但它们接受预编译的SQL语句和参数。在执行前,必须用setXXX()方法为每个参数提供值,否则会抛出...

    第10章 JDBC-课后习题1

    3. `Statement`接口的`executeUpdate(String sql)`方法用于执行SQL中的`insert`、`update`和`delete`语句。 4. `PreparedStatement`是`Statement`的子接口,用于执行预编译的SQL语句。 5. `ResultSet`接口中定义了...

    java解析xml根式数据

    4. 调用 `PreparedStatement` 的 `executeUpdate()` 方法执行 SQL 语句。 5. 关闭 `PreparedStatement` 和 `Connection`。 #### 3.2 执行 DQL(查询) 1. 获取 `Connection` 连接。 2. 通过 `Connection` 创建 `...

    java数据库连接PrepareStatement

    通过预编译 SQL 语句、使用参数化查询和重用已编译的语句,`PreparedStatement` 能够提高程序的性能和安全性。在实际应用中,合理利用 `PreparedStatement` 可以极大地提升数据库操作的效率和稳定性。

    BaseDao代码

    在调用此方法前,会先通过`getConnection`方法确保有有效的数据库连接。接着,使用预编译的`PreparedStatement`对象准备SQL语句,并设置参数值。最后,调用`executeUpdate`方法执行SQL语句,返回受影响的行数。 ###...

    java 连接sql server/Oracle/Mysql等常用数据库方法

    对于数据库的DDL(Data Definition Language)操作,如创建、删除、备份和恢复,可以使用PreparedStatement的`execute()`方法执行相应的SQL语句。 **Java连接Oracle数据库** 对于Oracle,也有JDBC-ODBC桥接方式,...

    JDBC_IDEA.rar

    - **插入数据**:使用`PreparedStatement`的`executeUpdate()`方法执行INSERT语句。 - **更新数据**:类似插入,使用UPDATE语句。 - **删除数据**:使用DELETE语句,同样通过`executeUpdate()`执行。 **4.事务管理*...

    java_JDBC连接数据库代码大全

    4. PreparedStatement:是 Statement 的子接口,允许数据库预编译 SQL,避免数据库每次重新编译,性能较好。常用方法有: - executeQuery():执行查询,返回结果集对应的 ResultSet 对象。 - executeUpdate():...

    JDBC入门基础讲座

    4. **执行SQL语句/存储过程**: 使用Statement对象的executeQuery()或executeUpdate(),PreparedStatement的execute()方法。 5. **处理结果集**: 如果是查询操作,遍历ResultSet对象,获取数据。 6. **关闭资源**: ...

    08、综合案例-使用JDBC完成商城项目的CRUD

    2. 执行SQL:调用`Statement.execute()`或`PreparedStatement.execute()`方法。 3. 处理结果集:对于查询操作,可以得到ResultSet对象,遍历其中的数据。 四、CRUD操作详解 1. 创建(Create):使用`...

    JSP中用连接池连接数据库以及增删改查通用方法.doc

    在JSP应用中,连接数据库通常采用数据库连接池技术,以提高系统性能和资源利用率。本文将详细介绍如何在JSP中使用连接池连接到SQL Server 2000数据库,并实现增删改查的通用方法。 首先,我们需要将SQL Server 2000...

    浅谈Java中Mysql数据库的连接与操作.zip

    4. 执行SQL:调用Statement或PreparedStatement的execute方法来执行SQL查询或更新。 5. 处理结果:如果执行的是查询,可以获取ResultSet对象,遍历其中的结果。 6. 关闭资源:在操作完成后,记得关闭ResultSet、...

    Java高级教程课件 java数据库教程 JDBC教程 4-jdbc编程(2)(共5页).pptx

    在本教程中,我们将深入探讨PreparedStatement和CallableStatement接口,以及Oracle数据库中处理LOB数据的方法。 1. PreparedStatement接口 PreparedStatement接口是为了提高SQL语句执行的效率和安全性而设计的。当...

Global site tag (gtag.js) - Google Analytics