execute,executeUpdate,executeQuery返回值的区别
昨天发现了个很有意思的问题,执行插入的sql,sql执行成功,数据成功插入,
但是execute返回的结果一直为false,所以差了点资料,看了看源码,找到问题,
写个随笔分享一下,希望对大家有帮助
execute返回结果为boolean类型
源码:
* @return <code>true</code> if the first result is a <code>ResultSet</code>
* object; <code>false</code> if the first result is an update
* count or there is no result
如果返回一个ResultSet结果集,则返回true,如果是更新或者插入返回false,所以即使用
execute,也不能判断是否插入成功,不过可以用来判断是查询或者更新。
executeQuery返回ResultSet类型
* @return a <code>ResultSet</code> object that contains the data produced by the
* query; never <code>null</code>
用于执行select语句。
executeUpdate返回int类型
* @return either (1) the row count for SQL Data Manipulation Language (DML) statements
* or (2) 0 for SQL statements that return nothing
用于执行INSERT、UPDATE 或 DELETE 语句,
效果是修改表中零行或多行中的一列或多列,返回更新的行数
原文地址:https://www.cnblogs.com/cunmo/p/11356332.html