spring jdbcTemplate批量更新数据

方法:先实现BatchPreparedStatementSetter接口,然后再调用JdbcTemplate的batchUpdate(sql,setter)操作,参数sql是预编译语句 ,setter是BatchPreparedStatementSetter的一个实例。或者使用内部匿名类方式。

BatchPreparedStatementSetter接口

 
 public interface BatchPreparedStatementSetter{
   public int getBatchSize();//返回批次的大小
    public void setValues(PreparedStatement ps,int i);
//
 ps:我们将要设值的PreparedStatement
// i:在这个批次汇总,正在执行操作的索引,从0算起
}

实现(内部匿名类):

jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter(){
                
                public int getBatchSize() {
                    // TODO Auto-generated method stub
                    return resourceList.size();    //读取数据源列表的大小
                }
                public void setValues(PreparedStatement ps, int i) throws SQLException {
                    // TODO Auto-generated method stub
                    ResourceBean resourceBean =(ResourceBean)resourceList.get(i); //读取要插入的源数据列表
                    pstmt.setString(1,resourceBean.getId());
                    pstmt.setString(2,resourceBean.getName());
                    pstmt.setString(3,resourceBean.getAuthor());
                    ... ...
                }
                
            });
 
原文地址:https://www.cnblogs.com/vitosun/p/3731629.html