From Gossip@Openhome

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句數。