Mybatis-plus更新null字段的解决方案
Java •
问题:
在使用Mybatis-plus的更新方法的时候,如果传递的参数中某个字段为null,则默认不会对为null的字段更新成null,如果需要将某个字段更新为null,解决方法如下:
在要更新为null的字段上加上注解:
@TableField(updateStrategy = FieldStrategy.IGNORED)
这个值默认是要进行非空检查的,来看源码:
public enum FieldStrategy {
/**
* 忽略判断
*/
IGNORED,
/**
* 非NULL判断
*/
NOT_NULL,
/**
* 非空判断(只对字符串类型字段,其他类型字段依然为非NULL判断)
*/
NOT_EMPTY,
/**
* 默认的,一般只用于注解里
* <p>1. 在全局里代表 NOT_NULL</p>
* <p>2. 在注解里代表 跟随全局</p>
*/
DEFAULT,
/**
* 不加入 SQL
*/
NEVER
}
添加注解后是这样的:

这样就可以了