mybatisPlus中的field-strategy(字段更新插入策略):null值插入和更新问题
目錄
- mybatisPlus中null值插入和更新問題
- 實際項目解決方法示例一
- 實際項目解決方法示例二
- field-strategy字段更新插入策略介紹
- 枚舉類FieldStrategy源碼
- 枚舉類字段簡介
mybatisPlus中null值插入和更新問題
配置mybatisPlus的項目中,默認進行了不是全量更新的策略:NOT_NULL。
即在利用updateWrapper更新時,會做null判斷,如果傳參數為null,就不會更新。
在實際項目需求中可能配置全局更新策略為:NOT_NULL,但是某些場景更新時需要插入這個null值進行更新。如何解決這個問題呢?
實際項目解決方法示例一
實際項目中,配置文件中配置全局字段策略為NOT_NULL。
需求:實際項目中,apply_teacher字段當它為null時需要把null值更新進去。
困難:因為全局字段策略為NOT_NULL,所以默認不會更新null值進去。
解決方法:
利用條件構造器當值為null時set為null。
代碼:
實際項目解決方法示例二
需求:state字段所有值都更新和插入。
困難:因為全局字段策略為NOT_NULL,所以默認不會更新null值進去。
解決方法:
在entity中設置state設置注解@TableField(),配置FieldStrategy為IGNORED。意思是"忽略判斷",所有值都更新和插入。
代碼:
field-strategy字段更新插入策略介紹
枚舉類FieldStrategy源碼
public enum FieldStrategy {/*** 忽略判斷*/IGNORED,/*** 非NULL判斷*/NOT_NULL,/*** 非空判斷*/NOT_EMPTY,/*** 默認的,一般只用于注解里* <p>1. 在全局里代表 NOT_NULL</p>* <p>2. 在注解里代表 跟隨全局</p>*/DEFAULT }枚舉類字段簡介
IGNORED:“忽略判斷”,所有字段都更新和插入。
NOT_NULL:“非 NULL 判斷”,只更新和插入非NULL值。
NOT_EMPTY:“非空判斷”, 只更新和插入非NULL值且非空字符串。
DEFAULT: 默認的,一般只用于注解里。
總結
以上是生活随笔為你收集整理的mybatisPlus中的field-strategy(字段更新插入策略):null值插入和更新问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux coreutils升级,Co
- 下一篇: Win10中如何找到并打开SqlServ