ITEEDU

Java Gossip: Statement 批处理

Statement的execute等方法一次只能执行一个SQL叙述,如果有多个SQL叙述要执行的话,可以使用executeBatch()方法,在一次方法呼叫中执行多个SQL叙述,以增加执行的效能,我们先使用addBatch()方法将要执行的SQL叙述加入,然后执行 executeBatch()即可:

conn.setAutoCommit(false);
Statement stmt = conn.createStatement();
stmt.addBatch("INSERT INTO message VALUES('良葛格'," +
	" 'caterpillar@mail.com', '留言吧', " +
	"'2004-5-26', '到此一游')");
stmt.addBatch("INSERT INTO message VALUES('米小狗'," +
	" 'dog@mail.com', '留言耶', " +
	"'2004-5-26', '啦啦啦')");
stmt.addBatch("INSERT INTO message VALUES('毛妹妹'," +
	" 'momor@mail.com', '留言吧', " +
	"'2004-5-26', '到此一游')");
stmt.executeBatch();
conn.commit();

在执行executeBatch()时而SQL有错误的情况下,会丢出BatchUpdateException例外,您可以由这个例外对象的 getUpdateCounts()方法取得正确的SQL句数。