当前位置: 代码网 > it编程>编程语言>Java > mybatis存在更新不存在新增问题

mybatis存在更新不存在新增问题

2024年08月20日 Java 我要评论
mybatis存在更新不存在新增主键或者唯一索引,有相同的字段进行添加时进行其他字段更新,否则进行新增<insert id="insertfwdcblacklist" parametertype

mybatis存在更新不存在新增

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

<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>

mybatis存在就更新,不存在就插入

条件

主键或唯一索引在现有表中已经存在

方法

on duplicate key update

<update id= "userinfo">
insert into user
(id,username,age)
values
(#{id},#{username},#{age})
on duplicate key update
username=values(username),
age=values(age)
<update>

当id在现有表中存在时,就会执行update语句

注意事项:

  • 后台用integer
  • 而非int去接收传参(integer初始值为null,而int初始值为0)
  • 否则插入失败

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com