JdbcTemplate 执行批量操作

来源:互联网 发布:java中的流是什么意思 编辑:程序博客网 时间:2024/06/05 20:13

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的参数赋值。

原创粉丝点击