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

