public RemoveBaseEmergencyEventsArrayResponse removeBaseEmergencyEvents(RemoveBaseEmergencyEventsArray rbeArr) {
final List<String> ids = rbeArr.getThysIdList();
int[] idArray = this.getJdbcTemplate().batchUpdate("delete from BASE_EMERGENCY_EVENTS where EVENT_ID = ?", new BatchPreparedStatementSetter(){
@Override
public int getBatchSize() {
return ids.size();
}
@Override
public void setValues(PreparedStatement ps, int i) throws SQLException {
ps.setString(i, ids.get(i));
}
});
使用JdbcTemplate进行批量操作时需要借助接口BatchPreparedStatementSetter来完成,接口BatchPreparedStatementSetter有两个抽象方法,getBatchSize()和setValues()前者是用来得到批量操作数据的总个数,用于提供后者方法循环赋值的次数,后者方法用来给PreparedStatement对象操作的预定义sql的参数赋值。