【异常记录】使用MyBatis-Plus中的updateById方法无法更新字段值为null

前景说明:

使用MyBatis-Plus中的updateById方法来更新字段,如果其中字段为null或者"",无法更新到数据库中。

报错原因:

MyBatis-Plus在做更新处理的时候会做null判断,默认是不更新字段为null,会自动忽略。

解决办法:

在对应实体类上添加如下注解:

  • MyBatis-Plus3.4.0 版本之后使用这个注解:
@TableField(updateStrategy = FieldStrategy.IGNORED)
  • MyBatis-Plus3.4.0之前的版本使用这个注解: 
@TableField(strategy = FieldStrategy.IGNORED)

FieldStrategy是MyBatis-Plus中的一个枚举类,用于指定实体类属性在进行数据库操作时的策略。该枚举类中的参数代表的意义如下:

  1. DEFAULT:默认策略,表示使用全局配置的策略。如果全局配置中未指定策略,则默认为NOT_NULL

  2. NOT_NULL:非空策略,表示当实体类属性不为null时,才会进行数据库操作。如果属性为null,则忽略该属性。

  3. NOT_EMPTY:非空白策略,表示当实体类属性不为null且不为空字符串时,才会进行数据库操作。如果属性为null或空字符串,则忽略该属性。

  4. IGNORED:忽略策略,表示无论实体类属性的值是什么,都会进行数据库操作。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值