mybatis存在更新不存在新增

这篇博客介绍了MyBatis中用于处理主键或唯一索引冲突的`ON DUPLICATE KEY UPDATE`语法,当尝试插入的数据存在重复主键或唯一索引时,将执行更新操作,否则执行插入操作。内容详细展示了如何在XML映射文件中配置该逻辑,涉及字段包括shopId, shopName, sdmerid等,并且特别强调了shield_function字段的更新处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 主键或者唯一索引,有相同的字段进行添加时进行其他字段更新,否则进行新增

<insert id="insertFwdcBlacklist" parameterType="com.qujie.mintwo.life.fwdc.entity.FwdcBlacklist">
        insert   into fwdc_blacklist
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="shopId != null">shop_id,</if>
            <if test="shopName != null">shop_name,</if>
            <if test="sdmerid != null">sdmerid,</if>
            <if test="shieldFunction != null">shield_function,</if>
            <if test="creditCode != null">credit_code,</if>
            <if test="idcard != null">idcard,</if>
            <if test="addTime != null">add_time,</if>
            <if test="addUserId != null">add_user_id,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="updateUserId != null">update_user_id,</if>
            <if test="remark != null">remark,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
            <if test="shopId != null">#{shopId},</if>
            <if test="shopName != null">#{shopName},</if>
            <if test="sdmerid != null">#{sdmerid},</if>
            <if test="shieldFunction != null">#{shieldFunction},</if>
            <if test="creditCode != null">#{creditCode},</if>
            <if test="idcard != null">#{idcard},</if>
            <if test="addTime != null">#{addTime},</if>
            <if test="addUserId != null">#{addUserId},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="updateUserId != null">#{updateUserId},</if>
            <if test="remark != null">#{remark},</if>
         </trim>
        ON DUPLICATE KEY UPDATE
        shield_function=#{shieldFunction}
    </insert>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

@淡 定

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

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

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

打赏作者

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

抵扣说明:

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

余额充值