public void batchUpdate(final List<Student> students) {
String sql = "update Student set age = ? where id = ?";
int[] updateCounts = jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
public void setValues(PreparedStatement preparedStatement, int i) throws SQLException {
System.out.println("i = " + i);
preparedStatement.setInt(1, students.get(i).getAge());
preparedStatement.setInt(2, students.get(i).getId());
}
public int getBatchSize(){
return students.size();
}
});
System.out.println("Records updated!");
在上面文法中 -
SQL - 更新語句以更新學生的年齡。
BatchPreparedStatementSetter - 批量執行者,在PerparedStatement對象中設定每個項目的值,由學生對象和索引i列出。 getBatchSize()傳回批處理的數量。