一、问题

1、在使用Mybatis-plus的更新方法的时候,如果传递的参数中某个字段为null,则默认不会对为null的字段更新成null,如果需要将某个字段更新为null,解决方法如下:

在要更新为null的字段上加上注解 strategy = FieldStrategy.IGNORED。
这个值默认是要进行非空检查的,来看源码:

//字段策略枚举类
public enum FieldStrategy {
    IGNORED(0, "忽略判断"),
    NOT_NULL(1, "非 NULL 判断"),
    NOT_EMPTY(2, "非空判断");
    //省略部分代码
}

我们要的效果是此处忽略要设置为null的字段的非空检查,所以应该如下配置:

    /**
     * 父级ID,null表示无父级
     */
 @TableField(value = "parent_dim_column_id",strategy = FieldStrategy.IGNORED)
 private Integer parentDimColumnId;

更多推荐

使用Mybatis-plus的更新方法更新null字段的解决方案