Mybatis-Plus更新字段为null
遇到问题
Mybatis-Plus更新的默认行为如下:
Mybatis-Plus默认如果某个传入参数的字段为null, 默认不更新这个字段, 例如有个Double类型的字段, 当前数据库数据为10, 然后传参时当前字段为null, 实际上Mybatis-Plus是不会覆盖该字段为null的, 仍然在数据库值为10
需求
传参字段为null时, 需要把数据库原来的值覆盖为null
解决办法
在实体类中给需要更新为null的字段加如下注解:
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Double lower;
代表该字段为null时, Mybatis-Plus也会更新数据库中字段值为null !
注意: 使用该注解时确保数据库该字段可以为null !