Mybatis不重复批量写及相关问题

本文探讨了在Mybatis中如何处理批量插入数据时的重复问题。通过分析MySQL的INSERT、REPLACE、INSERT IGNORE和ON DUPLICATE KEY UPDATE等语句,展示了如何避免插入重复数据。尽管INSERT IGNORE可以忽略错误,但可能导致自增ID不连续。最终,作者建议在面对重复数据时,选择单条插入以确保数据的连续性。
摘要由CSDN通过智能技术生成

转载请注明来源-作者@loongshawn:http://blog.csdn.net/loongshawn/article/details/52387986

1、背景说明

最近遇到一个问题,数据结构一致,存在重复,每批次数千的数据量。想到两种方式来处理:一种是一条一条插入,另一种方式通过批量插入MySQL。

2、批量入库

常规一条一条入库没啥问题,主要看看批量入库及排重。首先看看熟悉的批量操作语句:

<insert id="insertProvince" parameterType="java.util.List">
        INSERT INTO
        province
        (
        <include refid="provinceColumn" />
        )
        VALUES
        <foreach collection="list" item="item" index="index" separator=",">
            (
            #{item.province_name},
            #{item.province_code},
            #{item.quarter_id}
            )
        </foreach>
    </insert>

上面的SQL实现了批量入库,但是重复数据依然会进入数据库,接下来我们看看如何过滤掉重复数据。先来看看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值