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 ( Prepar
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()返回批处理的数量。
jdbcTemplateObject - NamedParameterJdbcTemplate对象来更新数据库中的学生对象。
updateCounts - int数组包含每个更新查询更新的行计数(数量)。