以下内容来自官网 来源地址
FieldStrategy 有三种策略:
-
IGNORED:忽略
-
NOT_NULL:非 NULL,默认策略
-
NOT_EMPTY:非空
-
当用户有更新字段为 空字符串 或者
null
的需求时,需要对FieldStrategy
策略进行调整: -
方式一:调整全局的验证策略
注入配置 GlobalConfiguration 属性 fieldStrategy
mybatis-plus:
global-config:
#字段策略 0:"忽略判断",1:"非 NULL 判断",2:"非空判断"
field-strategy: 0
-
方式二:调整字段验证注解
根据具体情况,在需要更新的字段中调整验证注解,如验证非空:
@TableField(strategy=FieldStrategy.NOT_EMPTY)
-
方式三:使用
UpdateWrapper
(3.x)
使用以下方法来进行更新或插入操作://updateAllColumnById(entity) // 全部字段更新: 3.0已经移除 mapper.update( new User().setName("mp").setAge(3), Wrappers.<User>lambdaUpdate() .set(User::getEmail, null) //把email设置成null .eq(User::getId, 2) ); //也可以参考下面这种写法 mapper.update( null, Wrappers.<User>lambdaUpdate() .set(User::getAge, 3) .set(User::getName, "mp") .set(User::getEmail, null) //把email设置成null .eq(User::getId, 2) );