我认为有必要,conn.setAutoCommit()的功能是每执行一条SQL语句,就作为一次事务提交。但一般在项目中很有可能需要执行多条SQL语句作为一个事务。若有一个执行不成功,就会rollback();
conn.setAutoCommit(false)
setAutoCommit
void setAutoCommit(boolean autoCommit)throws SQLException
将此连接的自动提交模式设置为给定状态。如果连接处于自动提交模式下,则将执行其所有 SQL 语句,并将这些语句作为单独的事务提交。否则,其 SQL
语句将成组地进入通过调用 commit 方法或 rollback
方法终止的事务中。默认情况下,新的连接处于自动提交模式下。
提 交发生在语句完成或执行下一条语句时,以先发生的情况为准。在语句返回 ResultSet 对象的情况下,该语句在已检索完最后一行 ResultSet 对象或已关闭 ResultSet 对象时完成。在更复杂的情况下,单个语句可以返回多个结果和输出参数值。在这些情况下,提交发生在检索到所有结果和输出参数值后。
注:如果在事务处理期间调用此方法,则提交该事务。
参数: autoCommit - 为 true 表示启用自动提交模式;为 false 表示禁用该模式