需求:
更新操作时候没有输入的数据(非必填项)要存为空
之前使用的mybatisplus的方法当你传入null时他是默认过滤掉该字段不尽兴更新的
这是因为mybatisplus默认更新策略是不更新空值的
如果设置为只要传入为空就都更新,这显然也是不行的,因为我们的删除标记与创建时间等数据也会被置为空
所以要使某个字段生效,我们选择:
@ApiModelProperty(value = "权重") @TableField(updateStrategy = FieldStrategy.IGNORED) private Integer priority;
上面设置固定字段生效:
看一下该类:
public enum FieldStrategy { /** * 忽略判断 */ IGNORED, /** * 非NULL判断 */ NOT_NULL, /** * 非空判断(只对字符串类型字段,其他类型字段依然为非NULL判断) */ NOT_EMPTY, /** * 默认的,一般只用于注解里 * <p>1. 在全局里代表 NOT_NULL</p> * <p>2. 在注解里代表 跟随全局</p> */ DEFAULT, /** * 不加入 SQL */ NEVER }
看看自己理解一下吧!