数据的批量添加、批量修改

在进行数据推送或者其他业务时,会需要进行批量操作,这个时候就可以用到了Spring的jdbcTemplate。
一、批量添加时:

//批量修改将未读取0改为读取中:1
		arcCorpinfoDao.readFlagState();
        //查询临时表:读取中readflag=1,数据存放List
        List arcCorpInfo = arcCorpinfoDao.selectArcCorpinfoMid();
        //获取系统日期
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        String curTime = formatter.format(new Date());
        //获取系统日期加时间(设置日期格式)
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String curDate = df.format(new Date());

String sql = " insert into corp_info(corp_id,corp_name,corp_type,corp_address,license_no,certificate_no,legal_name,establish_date,contact_name,contact_phone,data_version,manage_time,remark,DS_BATCH,DS_SYNC_FLAG,DS_SYNC_TIME) " + " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
            try {
                jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
                    @Override
                    public void setValues(PreparedStatement ps, int i) throws SQLException {

                        ps.setString(1, arcCorpInfo.get(i).getCorpno());
                        ps.setString(2,arcCorpInfo.get(i).getCorpname());
                        ps.setString(3, arcCorpInfo.get(i).getCorptype());
                        ps.setString(4, arcCorpInfo.get(i).getAddress());
                        ps.setString(5, arcCorpInfo.get(i).getLicenseno());
                        ps.setString(6, arcCorpInfo.get(i).getCertificateno());
                        ps.setString(7, arcCorpInfo.get(i).getLegalname());
                        ps.setString(8, arcCorpInfo.get(i).getEstablishdate());
                        ps.setString(9, arcCorpInfo.get(i).getContactname());
                        ps.setString(10, arcCorpInfo.get(i).getPhoneno());
                        ps.setString(11, arcCorpInfo.get(i).getRevisiondate());
                        ps.setString(12, arcCorpInfo.get(i).getRevisiontime());
                        ps.setString(13, arcCorpInfo.get(i).getRemark());
                        ps.setString(14, curTime);
                        ps.setString(15, arcCorpInfo.get(i).getOPERTYPE());
                        ps.setString(16,curDate);
                    }
                    @Override
                    public int getBatchSize() {
                        return arcCorpInfo.size();
                    }
                });
                System.out.println("----------------数据推送完成,总共"+arcCorpInfo.size()+"条。----------------");
            } catch (Exception e) {
                e.printStackTrace();
            }

上面这种操作是把需要批量插入的数据,先查出来,存放到list里,然后再进行批量添加。
定义一个接口,查询需要批量添加的数据:

List selectArcCorpinfoMid();

二、批量修改
直接定义一个接口,通过sql语句。如下:

	
		update (select * from ARC_CORPINFO_MID where READFLAG = '0') set Readflag = '1'
	

三、批量删除
通过Spring的jdbcTemplate进行操作,与批量修改类似。

String sql = " DELETE FROM ARC_CORPINFO_MID WHERE corp_id=?";

可以直接定义循环,查询需要删除的id,进行批量删除。

你可能感兴趣的:(Spring,Spring全家桶)