2011-06-21 123 views
3

我想在JDBC食譜執行類似多個單獨的SQL語句:Spring JDBCTemplate中的addBatch支持?

Statement stmt = con.createStatement(); 
stmt.addBatch(
    "update registration set balance=balance-5.00 
    where theuser="+theuser); 
stmt.addBatch(
"insert into auctionitems(
       description, startprice) 
    values("+description+","+startprice+")"); 

我必須直接使用Statement對象?我正在尋找一些提供相同功能的Spring JDBCTemplate服務。

附加點:更好的辦法是使用多個SQL語句的文本,並用;分隔多個SQL語句並執行它們。

謝謝,伊

回答

2

JdbcTemplate具有兩個batchUpdate方法提供此功能(javadoc)。你使用哪一個取決於你需要多少控制。如果您需要完全控制,則可以使用execute(StatementCallback)或甚至execute(ConnectionCallback)方法。

+1

oh man,我錯過了batchUpdate(String [] sqls),並且只看到了一個用於更新具有相同語句的多個行。謝謝。 – ihadanny