from:http://blog.csdn.net/shihuacai/article/details/11992355
public class BatchUpdate{ JdbcTemplate jdbctemp; //JdbcTemplate的获取不是我所讲的范围。 我们只管用spring得这一对象, public static void main(String[] args) { BatchUpdate bu = new BatchUpdate(); List list = bu.storeList(); bu.batchUpdateLinkset(list); } public List storeList(){ List linkset = new ArrayList(); linkset.setDOMAIN_ID("domain_idTeset"); linkset.setNE_ID("ne_idTEST"); linkset.setSIGLINKSET_NAME("SIGLINKSET_NAMEtest"); linkset.setN_CONFIRM(0); linkset.setTIME_STAMP("2010-07-27 09:05:21"); updatelist.add(linkset); } public void batchUpdateLinkset(final List list) { String sql = "update LINK_SET set N_CONFIRM=?,TIME_STAMP=?,DOMAIN_ID=?,SIGLINKSET_NAME=? where NE_ID=?"; jdbctemp.batchUpdate(sql, new BatchPreparedStatementSetter() { public int getBatchSize() { return list.size(); //这个方法设定更新记录数,通常List里面存放的都是我们要更新的,所以返回list.size(); } public void setValues(PreparedStatement ps, int i)throws SQLException { Linkset linkset = (Linkset) list.get(i); ps.setString(1, linkset.getCHINA_NAME()); ps.setString(2, linkset.getENGLISH_NAME()); ps.setInt(3, linkset.getN_CONFIRM()); ps.setString(4, linkset.getTIME_STAMP()); ps.setInt(5, linkset.getDOMAIN_ID()); ps.setString(6, linkset.getSIGLINKSET_NAME()); ps.setString(7, linkset.getNE_ID()); } }); }}
第二种写法
List glxxParams = new ArrayList(); for(int i=0;i<glxxList.size();i++){ Object glxxParam[]={ glid, glxxList.getJSONObject(i).optString("jbxxID"), glxxList.getJSONObject(i).optString("bz"), }; glxxParams.add(glxxParam); } super.getJdbcTemplate().batchUpdate(sql_glxx,glxxParams);