MyBatis-plus更新对象时将字段值更新为null

红太狼 2024-03-31 14:12 254阅读 0赞

mybatis-plus在执行更新操作,当更新字段为 空字符串 或者 null 的则不会执行更新。如果要将指定字段更新null,可以通过以下三种方式实现。

1、全局配置

可以在 application.yml 配置文件中注入配置 GlobalConfiguration 属性 update-strategy,
将 update-strategy 策略调整为 IGNORED,即忽略判断策略。即可调整全局的验证策略。

  1. # yml 配置:
  2. mybatis-plus:
  3. global-config:
  4. db-config:
  5. update-strategy: IGNORED

2、添加updateStrategy 注解

在实体类中将需要更新为null的字段上添加updateStrategy 注解,并将更新策略设置为IGNORED。

  1. @TableField(value = "name", updateStrategy=FieldStrategy.IGNORED)
  2. private String name;

3、使用UpdateWrapper更新

通过baseMapper的UpdateWrapper将实体类的指定字段set为null。

  1. baseMapper.update(sysUser, Wrappers.<SysUser>lambdaUpdate()
  2. .set(SysUser::getOrgId, null)
  3. .set(SysUser::getOrgName, null)
  4. .eq(SysUser::getId, sysUser.getId())
  5. );

新时代农民工

发表评论

表情:
评论列表 (有 0 条评论,254人围观)

还没有评论,来说两句吧...

相关阅读