execute,executeQuery,executeUpdate的区别是什么?
a、Statement的execute(String query)方法用来执行任意的SQL查询,如果查询的结果是一个ResultSet,这个方法就返回true。如果结果不是ResultSet,比如insert或者update查询,它就会返回false。
b、Statement的executeQuery(String query)接口用来执行select查询,并且返回ResultSet。即使查询不到记录返回的ResultSet也不会为null。我们通常使用executeQuery来执行查询语句,这样的话如果传进来的是insert或者update语句的 话,它会抛出错误信息为 “executeQuery method can not be used for update”的java.util.SQLException。
c、Statement的executeUpdate(String query)方法用来执行insert或者update/delete(DML)语句。
d、只有当你不确定是什么语句的时候才应该使用execute()方法,否则应该使用executeQuery或者executeUpdate方法。