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

本文详细介绍如何使用Spring的jdbcTemplate进行批量数据操作,包括批量添加、批量修改和批量删除的具体实现方式,提供代码示例帮助理解。

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

//批量修改将未读取0改为读取中:1
		arcCorpinfoDao.readFlagState();
        //查询临时表:读取中readflag=1,数据存放List
        List<ArcCorpinfoMid> 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<ArcCorpinfoMid> selectArcCorpinfoMid();

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

	<update  id="readFlagState">
		update (select * from ARC_CORPINFO_MID where READFLAG = '0') set Readflag = '1'
	</update>

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟驿站ㅤ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值