mybatis存在更新不存在新增問題
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存在就更新,不存在就插入
條件
主鍵或唯一索引在現(xiàn)有表中已經(jīng)存在
方法
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在現(xiàn)有表中存在時,就會執(zhí)行update語句
注意事項:
- 后臺用Integer
- 而非int去接收傳參(Integer初始值為null,而int初始值為0)
- 否則插入失敗
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何基于Autowired對構(gòu)造函數(shù)進行注釋
這篇文章主要介紹了如何基于Autowired對構(gòu)造函數(shù)進行注釋,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-10-10Java String方法獲取字符出現(xiàn)次數(shù)及字符最大相同部分示例
這篇文章主要介紹了Java String方法獲取字符出現(xiàn)次數(shù)及字符最大相同部分,涉及java字符串的遍歷、比較、計算等相關(guān)操作技巧,需要的朋友可以參考下2017-09-09淺談SpringBoot中的@Conditional注解的使用
這篇文章主要介紹了淺談SpringBoot中的@Conditional注解的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04MyBatisPlus?大數(shù)據(jù)量查詢慢的問題解決
本文主要介紹了MyBatis?Plus?解決大數(shù)據(jù)量查詢慢問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02詳解如何在Java中重寫equals()和hashCode()方法
在 Java 中,equals() 和 hashCode() 方法是 Object 類中定義的重要方法,它們用于比較對象的相等性以及計算對象的哈希值,本文將詳細介紹如何在 Java 中重寫 equals() 和 hashCode() 方法,并討論其最佳實踐,需要的朋友可以參考下2024-08-08Java實戰(zhàn)之在線租房系統(tǒng)的實現(xiàn)
這篇文章主要介紹了利用Java實現(xiàn)的在線租房系統(tǒng),文中用到了SpringBoot、Redis、MySQL、Vue等技術(shù),文中示例代碼講解詳細,需要的可以參考一下2022-02-02