baseMapper.updateById null属性未更新到数据库

本文探讨了在使用Mybatis-Plus时遇到的问题,即当使用baseMapper.updateById方法时,实体类中值为null的属性不会被更新到数据库。提出了两种解决方案:1)调整Mybatis-Plus的配置;2)自定义方法来实现更新操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mybatis-plus 的默认配置 在调用 baseMapper.updateById 时 ,如果实体类中的字段属性为null,那么不将该属性更新到数据库。我的解决方案有两种
1)修改mybatis-plus配置

mybatis-plus:
  global-config:
    db-config:
      update-strategy: NOT_NULL
      # 字段策略 
      # IGNORED:"忽略判断,会更新NULL和空串",
      # NOT_NULL:"非 NULL判断,会更新空串",
      # NOT_EMPTY:"非空判断,不会更新NULL和空串",
      # 默认是NOT_NULL

2)自己写一个方法调用就好了。

@Update("update t_environment_equipment set lab_id=null where device_no=#{deviceNo}")
     void lockDeviceLab(@Param("deviceNo") String deviceNo);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值