發(fā)現(xiàn)mybatisPlus會更新對象屬性為null的值,
與field-strategy配置有關(guān)
1
2
3
4
|
mybatis-plus: global-config: db-config: field-strategy: not_null |
在3.1.0版本中,其選擇的值有
1
2
3
4
5
6
7
8
|
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)驗,希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。如有錯誤或未考慮完全的地方,望不吝賜教。
原文鏈接:https://blog.csdn.net/tplina/article/details/88111458