【亲测有效】Mybatis-Plus中更新字段为null

Mybatis-Plus中更新字段为null

遇到问题

Mybatis-Plus更新的默认行为如下:

Mybatis-Plus默认如果某个字段为null, 默认不更新这个字段, 例如有个Double类型的字段, 当前数据库数据为10, 然后传参时当前字段为null, 实际上Mybatis-Plus是不会覆盖该字段为null的

在传参的时候如果字段为null时, 需要把原来的值覆盖为null存入数据库

解决办法

在实体类中给需要更新为null的字段加上如下注解:

@TableField(updateStrategy = FieldStrategy.IGNORED)
private Double lower;

代表该字段为null时, Mybatis-Plus也会更新数据库为null !