转发:

​http://www.java265.com/JavaMianJing/202205/16534030093491.html​

下文笔者讲述execute,executeQuery,executeUpdate三个方法的区别说明,如下所示

1.Statement 
execute(String query)方法的功能:
可用于执行任意SQL查询
当查询的结果是一个ResultSet,这个方法就返回true
如果结果不是ResultSet
如:insert或者update查询,它就会返回false
我们可以通过它的getResultSet方法来获取ResultSet,或通过getUpdateCount()方法来获取更新的记录条数

2.Statement
executeQuery(String query)接口用来执行select查询,返回ResultSet
如果查询不到记录返回ResultSet也不会为null
我们通常使用executeQuery来执行查询语句
当我们在参数中输入insert或update语句的话,
此方法会抛出错误信息为 “executeQuery method can not be used for update”的java.util.SQLException


3.Statement
executeUpdate(String query)方法的功能:
用于执行insert或update/delete(DML)语句
或什么也不返回,对于DDL语句,返回值是int类型
如果是DML语句的话,它就是更新的条数
如果是DDL的话,就返回0。
从以上三个方法的用法上,我们可得知三个方法的功能完全不同,返回值不同
当我们不知道sql语句的功能时,建议使用execute()方法
否则如果明确具体的功能,则使用executeQuery或executeUpdate方法