如果我打开了Connection con并且有一个Statment stat stat.executeBatch()
是什么?
我认为它没有做任何事,因为我已将autocommit设置为false。
这是一个例子:
stat.addBatch("update bankaccount set balance = balance + 100 where customer = 'Bill'");
stat.addBatch("update bankaccount set balance = balance - 100 where customer = 'Joe'");
stat.executeBatch();
con.commit();
答案 0 :(得分:1)
批处理允许您将相关的SQL语句分组到批处理中,并通过一次调用数据库来提交它们。
当您一次向数据库发送多个SQL语句时,可以减少通信开销,从而提高性能。
此外,
要启用手动事务支持而不是JDBC驱动程序默认使用的自动提交模式,请使用Connection对象的 setAutoCommit()方法。
如果将boolean false传递给setAutoCommit(),则关闭自动提交。你可以传递一个布尔值true来重新打开它。