Mybatis-plus插⼊或更新的字段有空字符串或者null 插⼊或更新的字段有空字符串或者null
FieldStrategy 有三种策略:
null官方更新地址IGNORED:忽略
NOT_NULL:⾮ NULL,默认策略
NOT_EMPTY:⾮空
当⽤户有更新字段为空字符串或者null的需求时,需要对FieldStrategy策略进⾏调整:
⽅式⼀:调整全局的验证策略
注⼊配置 GlobalConfiguration 属性 fieldStrategy
⽅式⼆:调整字段验证注解
根据具体情况,在需要更新的字段中调整验证注解,如验证⾮空:
@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)
);