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。
只有当你不确定是什么语句的时候才应该使用 execute() 方法, 否则应该使用
executeQuery 或者 executeUpdate 方法。
JDBC 的 ResultSet 是什么?
在查