MyBatis-Plus updateById方法更新不了date类型的字段为null 解决方法:
@ApiModelProperty(value = "开始时间")
@TableField(value = "START_TIME", fill = FieldFill.INSERT_UPDATE)
private Date startTime;
@ApiModelProperty(value = "结束时间")
@TableField(value = "END_TIME", fill = FieldFill.INSERT_UPDATE)
private Date endTime;
@ApiModelProperty(value = "是否删除: N - 未删除, Y - 已删除")
@TableField(value = "DEL_STATUS", fill = FieldFill.INSERT)
@TableLogic
private String delStatus;
自动填充:FieldFill.INSERT_UPDATE
需要自己实现填充规则,否则不传值时直接更新为null,
例如:
1 是否删除字段delStatus,就可以在填充规则里设置填充为N未删除
2 开始时间如果updateById()时可以为空则不设置填充规则就能将原来已有的时间更新为null
/**
* 自定义填充规则
*/
public class DateMetaObjectHandler implements MetaObjectHandler {
// 自定义填充配置文件
private MybatisPlusAutoFillProperties autoFillProperties;
public DateMetaObjectHandler(MybatisPlusAutoFillProperties autoFillProperties) {
this.autoFillProperties = autoFillProperties;
}
....
}
https://baomidou.com/guide/#%E7%89%B9%E6%80%A7 |