解決mybatisPlus null 值更新的問題
發(fā)現(xiàn)mybatisPlus會更新對象屬性為null的值,
與field-strategy配置有關(guān)
mybatis-plus: global-config: db-config: field-strategy: not_null
在3.1.0版本中,其選擇的值有
public enum FieldStrategy { IGNORED, NOT_NULL, NOT_EMPTY, DEFAULT; private FieldStrategy() { } }
我剛開始選擇的是ignored,所以null值會更新,像這樣:
改成not_null,就是這樣了
官網(wǎng)解釋:
該策略約定了如何產(chǎn)出注入的sql,涉及insert,update以及wrapper內(nèi)部的entity屬性生成的 where 條件
官方鏈接: https://mp.baomidou.com/config/#fieldstrategy
補充:mybatis-plus更新的時候忽略null值判斷
一般會更新操作都會判斷null值,為null就不更新對應(yīng)的字段。
但是有時候需要把特定的字段更新為null,使用mybatis-plus時可以在實體類特定屬性上面加注解@TableField(strategy=FieldStrategy.IGNORED),就會忽略null值判斷,將null更新進數(shù)據(jù)庫。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Java使用Lua實現(xiàn)動態(tài)擴展和腳本自動升級
Lua是一種輕量級的腳本語言,常用于游戲開發(fā)和嵌入式系統(tǒng)中,這篇文章主要介紹了Java如何調(diào)用Lua實現(xiàn)動態(tài)擴展和腳本自動升級,感興趣的可以學(xué)習(xí)下2023-08-08Java中的List接口實現(xiàn)類LinkList和ArrayList詳解
這篇文章主要介紹了Java中的List接口實現(xiàn)類LinkList和ArrayList詳解,List接口繼承自Collection接口,是單列集合的一個重要分支,實現(xiàn)了List接口的對象稱為List集合,在List集合中允許出現(xiàn)重復(fù)的元素,所有的元素是以一種線性方式進行存儲的,需要的朋友可以參考下2024-01-01springboot學(xué)習(xí)之Thymeleaf模板引擎及原理介紹
本文主要介紹一下SpringBoot給我們推薦的Thymeleaf模板引擎,這模板引擎呢,是一個高級語言的模板引擎,他的這個語法更簡單而且功能更強大,對springboot?Thymeleaf模板引擎相關(guān)知識感興趣的朋友一起看看吧2022-02-02Java中的字節(jié)流InputStream和OutputStream詳解
這篇文章主要介紹了Java中的字節(jié)流InputStream和OutputStream詳解,繼承自InputStream的流都是用于向程序中輸入數(shù)據(jù),且數(shù)據(jù)的單位為字節(jié)8bit,我們看到的具體的某一些管道,凡是以InputStream結(jié)尾的管道,都是以字節(jié)的形式向我們的程序輸入數(shù)據(jù),需要的朋友可以參考下2023-10-10在Spring環(huán)境中正確關(guān)閉線程池的姿勢
這篇文章主要介紹了在Spring環(huán)境中正確關(guān)閉線程池的姿勢,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04使用try-with-resource的輸入輸出流自動關(guān)閉
這篇文章主要介紹了使用try-with-resource的輸入輸出流自動關(guān)閉方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07