前言
今天在公司无聊闲来无事,就想找点事做,想起来之前有个服务有个bug,就是Mybatis-Plus在做增删改的时候创建时间和修改时间这些公共的字段没有自动填充,于是我就开始找bug了。。。
问题
从图片中大家可以清楚看到一条sql有4个字段的值是null
正是公共字段:
- creationDate 创建时间
- createdBy 创建人
- lastUpdateDate 更新时间
- lastUpdateBy 更新人
需要注意的是在触发自动填充之前是要在公共字段中配置枚举类的
@TableField(fill = FieldFill.INSERT)
private LocalDateTime creationDate;
@TableField(fill = FieldFill.INSERT)
private String createdBy;
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime lastUpdateDate;
@TableField(fill = FieldFill.INSERT_UPDATE)
private String lastUpdateBy;
配置这些什么意思想必没有必要解释了吧,直接看代码注释吧
public enum FieldFill {
/**
* 默认不处理
*/
DEFAULT,
/**