加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Spring批量更新JdbcTemplate.batchUpdate()

(2012-11-29 10:15:55)
标签:

jdbctemplate.batchup

it

分类: SSH

公司项目里总是使用到,不得不研究一番:

 

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());
            }
        });
    }

}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有