解決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
補(bǔ)充:mybatis-plus更新的時候忽略null值判斷
一般會更新操作都會判斷null值,為null就不更新對應(yīng)的字段。
但是有時候需要把特定的字段更新為null,使用mybatis-plus時可以在實(shí)體類特定屬性上面加注解@TableField(strategy=FieldStrategy.IGNORED),就會忽略null值判斷,將null更新進(jìn)數(shù)據(jù)庫。

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
SpringData JPA中@OneToMany和@ManyToOne的用法詳解
這篇文章主要介紹了SpringData JPA中@OneToMany和@ManyToOne的用法詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
使用Java構(gòu)造和解析Json數(shù)據(jù)的兩種方法(詳解一)
JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式,采用完全獨(dú)立于語言的文本格式,是理想的數(shù)據(jù)交換格式。接下來通過本文給大家介紹使用Java構(gòu)造和解析Json數(shù)據(jù)的兩種方法,需要的朋友參考下吧2016-03-03
java原生序列化和Kryo序列化性能實(shí)例對比分析
這篇文章主要介紹了java原生序列化和Kryo序列化性能實(shí)例對比分析,涉及Java和kryo序列化和反序列化相關(guān)實(shí)例,小編覺得很不錯,這里分享給大家,希望給大家一個參考。2017-10-10
關(guān)于SpringBoot改動后0.03秒啟動的問題
這篇文章主要介紹了SpringBoot改動后0.03秒啟動,本文結(jié)合示例代碼給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-12-12

