0
点赞
收藏
分享

微信扫一扫

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

一、问题

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;


举报

相关推荐

0 条评论