在Java中,executeBatch方法是JDBC API中的一個方法,它用于執行一批SQL語句或命令。這個方法可以提高執行大量SQL語句時的性能,因為它可以減少與數據庫的通信次數。
executeBatch方法的用法如下:
創建一個Statement對象或PreparedStatement對象。
使用addBatch方法將要執行的SQL語句或命令添加到批處理中。
使用executeBatch方法執行批處理,它會返回一個整數數組,數組中的每個元素表示對應SQL語句或命令的更新計數(即受影響的行數)。
使用clearBatch方法清除批處理中的所有SQL語句或命令。
最后,使用close方法關閉Statement對象或PreparedStatement對象。
示例代碼如下所示:
// 創建一個Connection對象(省略連接數據庫的代碼)
// 創建一個PreparedStatement對象
String sql = "INSERT INTO employees (id, name, age) VALUES (?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
// 添加要執行的SQL語句或命令到批處理中
pstmt.setInt(1, 1);
pstmt.setString(2, "John");
pstmt.setInt(3, 25);
pstmt.addBatch();
pstmt.setInt(1, 2);
pstmt.setString(2, "Jane");
pstmt.setInt(3, 30);
pstmt.addBatch();
// 執行批處理
int[] updateCounts = pstmt.executeBatch();
// 輸出每個SQL語句或命令的更新計數
for (int updateCount : updateCounts) {
System.out.println("Updated " + updateCount + " rows.");
}
// 清除批處理
pstmt.clearBatch();
// 關閉PreparedStatement對象和Connection對象
pstmt.close();
conn.close();
在上面的示例中,我們首先創建了一個PreparedStatement對象,并將兩個INSERT語句添加到批處理中。然后,我們調用executeBatch方法執行批處理,并通過遍歷返回的更新計數數組來輸出每個SQL語句的受影響行數。最后,我們使用clearBatch方法清除批處理中的所有SQL語句,并關閉PreparedStatement對象和Connection對象。