使用Spring JdbcTemplate实现SQL批处理

来源:互联网 发布:python 输入 编辑:程序博客网 时间:2024/06/05 04:36

实现批处理,主要是是实现BatchPreparedStatementSetter接口

 

public int[] insertUsers(final list users){
    String sql
="insert into user(name,age) values(?,?)";
    BatchPreparedStatementSetter setter
=new BatchPreparedStatementSetter (){
          
public void setValues(PreparedStatement ps,int i) throws SQLException{
               User user
=(User)user.get(i);
               ps.setString(
1,user.getName());
               ps.setInt(
2,user.getAge());
          }

          
public int getBatchSize(){
             
return users.size();
          }

    }

    
return jdbcTemplate.batchUpdate(sql,setter);
}

如果JDBC驱动支持批处理,则可以使用他的功能,如果不支持,spring会自动处理更新来模拟批处理 

原创粉丝点击