实现批处理,主要是是实现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会自动处理更新来模拟批处理