批量插入以及数据存在重复就进行更新操作

批量插入以及数据存在重复就进行更新操作

示例:

/**
 * 批量更新
 *
 * @param guiYangStationInfos
 */
private void updateStationInfos(String tracker, List<GuiYangStationInfoDo> guiYangStationInfos) {
    //进行批量插入
    String sql = "INSERT INTO guiyang_station_info (station_id,equipment_id,connector_id,station_name) VALUES (?,?,?,?) ON DUPLICATE KEY UPDATE station_id= ?,equipment_id=?,station_name=?";
    jdbcTemplateStar.batchUpdate(sql, new BatchPreparedStatementSetter() {

        @Override
        public void setValues(PreparedStatement ps, int i) throws SQLException {
            String stationId = guiYangStationInfos.get(i).getStationId();
            String equipmentId = guiYangStationInfos.get(i).getEquipmentId();
            String connectorId = guiYangStationInfos.get(i).getConnectorId();
            String stationName = guiYangStationInfos.get(i).getStationName();
            ps.setString(1, stationId);
            ps.setString(2, equipmentId);
            ps.setString(3, connectorId);
            ps.setString(4, stationName);

            ps.setString(5, stationId);
            ps.setString(6, equipmentId);
            ps.setString(7, stationName);
        }

        public int getBatchSize() {
            logger.info("[[{}]- 第[{}]次更新充电站数据信息,状态:成功,更新条数: [{}]条]", new Object[]{tracker, ++updateTime, guiYangStationInfos.size()});
            return guiYangStationInfos.size();
        }
    });
}

转载于:https://www.cnblogs.com/zongJianKun/p/10737048.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值