通过 jdbcTemplate.update(List) 更新 JdbcTemplate
Update JdbcTemplate by jdbcTemplate.update(List)
我正在使用 Spring 批处理。如何在单个数据库调用中更新所有记录?
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public void write(List<? extends Users> users) throws Exception {
String updateQuery = "update users set ddp_created_fl=? where email=?";
for(Users user:users) {
jdbcTemplate.update(updateQuery, 1, user.getEmail());
}
}
您可以使用 batchUpdate
在单个数据库调用中更新所有记录。
public void write(List<Users> users) throws Exception {
String updateQuery = "update users set ddp_created_fl=? where email=?";
jdbcTemplate.batchUpdate(updateQuery,
new BatchPreparedStatementSetter() {
public void setValues(PreparedStatement ps, int i)
throws SQLException {
ps.setLong(1, 1);
ps.setString(2, users.get(i).getEmail());
}
public int getBatchSize() {
return users.size();
}
});
}
我正在使用 Spring 批处理。如何在单个数据库调用中更新所有记录?
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public void write(List<? extends Users> users) throws Exception {
String updateQuery = "update users set ddp_created_fl=? where email=?";
for(Users user:users) {
jdbcTemplate.update(updateQuery, 1, user.getEmail());
}
}
您可以使用 batchUpdate
在单个数据库调用中更新所有记录。
public void write(List<Users> users) throws Exception {
String updateQuery = "update users set ddp_created_fl=? where email=?";
jdbcTemplate.batchUpdate(updateQuery,
new BatchPreparedStatementSetter() {
public void setValues(PreparedStatement ps, int i)
throws SQLException {
ps.setLong(1, 1);
ps.setString(2, users.get(i).getEmail());
}
public int getBatchSize() {
return users.size();
}
});
}