使用mybatis-plus更新null字段mybatisplus
全局配置(不推荐)
mybatis-plus:
global-config:
db-config:
# 更新字段为空时同样进行修改
update-strategy: ignored
局部更新
方式一:@TableField(strategy = FieldStrategy.IGNORED)(不推荐)
@TableField(strategy = FieldStrategy.IGNORED)
private String sort;
注意:但是,其他的更新的sql也会跳过null值检查,会造成的结果就是,另一个update语句,如果修改的时候没有给该字段赋值也会将“sort”更新成了null,导致很严重的问题。
方式二:条件构造器组装sql
LambdaUpdateWrapper<WallpaperRecommendAuthor> wrapper = new LambdaUpdateWrapper<>();
wrapper.set(WallpaperRecommendAuthor::getSort, null);
this.update(wrapper);
最后的话:
不建议使用 strategy = FieldStrategy.IGNORED 和 全局更新,稍不注意,就会把数据库对应的字段置为null,造成无法挽回的损失。