最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MyBatis更新時新值為null時,updateById()更新失敗問題

 更新時間:2023年01月03日 09:58:33   作者:CECE00  
這篇文章主要介紹了MyBatis更新時新值為null時,updateById()更新失敗問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

MyBatis更新時新值為null時,更新失敗

比如,類Rule中有個字段名為String note,備注是可以為空的。

note不為空時

  • 更新方法是,只輸入要更新的值
  • 可以構(gòu)造或者不構(gòu)造實體對象
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("name","rule1").set("note", "cannot ignore");
userMapper.update(null, updateWrapper);

note為空時

可行操作:

updateWrapper()方法,把可能為空的字段,如notes,手動設(shè)置。

  • 而對于一次更新,所有字段都有可能被更新的情況,這次我是用了反射,設(shè)置了所有可能被更新的字段
  • 因為updateWrapper的方法,會默認忽略未被set的方法

手動寫一個sql,在xml文件里。也可以繞開NOT NULL的校驗

不可行操作:

  • updateById()方法,會默認忽略 為null的note字段
  • 有考慮過修改更新策略(默認配置為“非NULL判斷”,需要改成“忽略判斷”:

全局更新配置:

單個字段的配置:字段加注解

主要想說放棄修改配置的原因:

平時我都是用updateById(),很少用到updateWrapper的。

所以一開始覺得,修改策略是一勞永逸。

但其實,如果改了配置之后,原本項目里使用updateWrapper方法進行更新的部分就會受到影響:正常來說,會忽略更新為null的字段;

修改配置后,就不會忽略了為null的字段,這樣會把原來的值誤覆蓋。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Scala隱式轉(zhuǎn)換和隱式參數(shù)詳解

    Scala隱式轉(zhuǎn)換和隱式參數(shù)詳解

    Scala隱式轉(zhuǎn)換和隱式參數(shù)是兩個非常強大的功能,它們可以讓我們編寫更靈活和優(yōu)雅的代碼,但也需要注意一些潛在的問題和風(fēng)險,這篇文章主要介紹了Scala隱式轉(zhuǎn)換和隱式參數(shù),需要的朋友可以參考下
    2023-04-04
  • Java垃圾回收之分代收集算法詳解

    Java垃圾回收之分代收集算法詳解

    今天小編就為大家分享一篇關(guān)于Java垃圾回收之分代收集算法詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • Java中指定時區(qū)的3種方法

    Java中指定時區(qū)的3種方法

    這篇文章主要介紹了Java中指定時區(qū)的3種方法,本文是一個JAVA項目和.NET項目通訊時遇到的問題,本文給出JAVA中的3種解決方法,需要的朋友可以參考下
    2015-02-02
  • Java根據(jù)Request獲取客戶端IP

    Java根據(jù)Request獲取客戶端IP

    這篇文章主要介紹了Java根據(jù)Request獲取客戶端IP的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-05-05
  • 多線程如何解決for循環(huán)效率的問題

    多線程如何解決for循環(huán)效率的問題

    這篇文章主要介紹了多線程如何解決for循環(huán)效率的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Spring Boot詳解創(chuàng)建和運行基礎(chǔ)流程

    Spring Boot詳解創(chuàng)建和運行基礎(chǔ)流程

    這篇文章主要介紹了SpringBoot創(chuàng)建和運行的基礎(chǔ)流程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java Iterator接口遍歷單列集合迭代器原理詳解

    Java Iterator接口遍歷單列集合迭代器原理詳解

    這篇文章主要介紹了Java Iterator接口遍歷單列集合迭代器原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • SpringBoot?實現(xiàn)自定義的?@ConditionalOnXXX?注解示例詳解

    SpringBoot?實現(xiàn)自定義的?@ConditionalOnXXX?注解示例詳解

    這篇文章主要介紹了SpringBoot?實現(xiàn)自定義的?@ConditionalOnXXX?注解,通過示例代碼介紹了實現(xiàn)一個自定義的?@Conditional?派生注解,Conditional?派生注解的類如何注入到?spring?容器,需要的朋友可以參考下
    2022-08-08
  • 深扒Java中POJO、VO、DO、DTO、PO、BO、AO、DAO的概念和區(qū)別以及如何應(yīng)用

    深扒Java中POJO、VO、DO、DTO、PO、BO、AO、DAO的概念和區(qū)別以及如何應(yīng)用

    po vo bo dto dao 和 pojo 是軟件開發(fā)中經(jīng)常使用的一些概念,用于設(shè)計和實現(xiàn)對象模型,下面將分別解釋這些概念的含義及其在開發(fā)中的應(yīng)用,這篇文章主要給大家介紹了關(guān)于Java中POJO、VO、DO、DTO、PO、BO、AO、DAO的概念和區(qū)別以及如何應(yīng)用的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • SpringBoot 使用 FTP 操作文件的過程(刪除、上傳、下載文件)

    SpringBoot 使用 FTP 操作文件的過程(刪除、上傳、下載文件)

    這篇文章主要介紹了SpringBoot 使用 FTP 操作文件,主要包括配置ftp服務(wù)器,上傳、刪除、下載文件操作,本文結(jié)合示例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-12-12

最新評論

铜陵市| 宁化县| 静宁县| 青神县| 东港市| 旌德县| 浑源县| 特克斯县| 论坛| 丽江市| 宁波市| 久治县| 西丰县| 赣榆县| 旬阳县| 德庆县| 嘉祥县| 新乐市| 宁津县| 安塞县| 阿城市| 都昌县| 宜阳县| 班戈县| 崇信县| 永寿县| 平凉市| 霞浦县| 德化县| 宜川县| 瑞金市| 崇文区| 白朗县| 渝中区| 滨海县| 安新县| 贞丰县| 开原市| 雷波县| 长治市| 宁化县|