MyBatis-plus更新对象时将字段值更新为null
mybatis-plus在执行更新操作,当更新字段为 空字符串 或者 null 的则不会执行更新。如果要将指定字段更新null,可以通过以下三种方式实现。
1、全局配置
可以在 application.yml 配置文件中注入配置 GlobalConfiguration 属性 update-strategy,
将 update-strategy 策略调整为 IGNORED,即忽略判断策略。即可调整全局的验证策略。
# yml 配置:
mybatis-plus:
global-config:
db-config:
update-strategy: IGNORED
2、添加updateStrategy
注解
在实体类中将需要更新为null的字段上添加updateStrategy
注解,并将更新策略设置为IGNORED。
@TableField(value = "name", updateStrategy=FieldStrategy.IGNORED)
private String name;
3、使用UpdateWrapper更新
通过baseMapper的UpdateWrapper将实体类的指定字段set为null。
baseMapper.update(sysUser, Wrappers.<SysUser>lambdaUpdate()
.set(SysUser::getOrgId, null)
.set(SysUser::getOrgName, null)
.eq(SysUser::getId, sysUser.getId())
);
扫描下方二维码,关注公众号:程序进阶之路,实时获取更多优质文章推送。
扫码关注