MyBatis-Plus updateById方法更新不了date类型的字段为null 解决方法

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:33   2405   0

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

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP