转发:
execute,executeQuery,executeUpdate三个方法有什么区别呢?
下文笔者讲述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方法