在java中对数据库进行更新操作时,可以利用addBatch()方法,将多条update、delete等更新语句绑在一起,最后执行一次即可,很是好用,避免写一条语句就更新执行一次,还影响效率。
批处理
con.setAutoCommit(false); 关闭自动认可模式
Statement stmt=con.createStatement();
int[] rows;
stmt.addBatch("insert into test values(1001,xuzhaori)");
stmt.addBatch("insert into test values(1002,xuyalin)");
rows=stmt.executeBatch();
con.commit(); 没有任何错误,执行批处理stmt.executeBatch();
setAutoCommit
void setAutoCommit(boolean autoCommit) throws SQLException
-
将此连接的自动提交模式设置为给定状态。如果连接处于自动提交模式下,则它的所有 SQL 语句将被执行并作为单个事务提交。否则,它的 SQL 语句将聚集到事务中,直到调用
commit
方法或rollback
方法为止。默认情况下,新连接处于自动提交模式。提交发生在语句完成时。语句完成的时间取决于 SQL 语句的类型:
- 对于 DML 语句(比如 Insert、Update 或 Delete)和 DDL 语句,语句在执行完毕时完成。
- 对于 Select 语句,语句在关联结果集关闭时完成。
- 对于
CallableStatement
对象或者返回多个结果的语句,语句在所有关联结果集关闭并且已获得所有更新计数和输出参数时完成。
注:如果在事务和自动提交模式更改期间调用此方法,则提交该事务。如果调用
setAutoCommit
而自动提交模式未更改,则该调用无操作(no-op)。 -
-
-
参数:
-
autoCommit
- 为true
表示启用自动提交模式;为false
表示禁用自动提交模式
-