【笔记】Mybatis Plue 实现自动填充

前言

Mybatis Plue 实现自动填充

正文

POJO类添加注解

  • 在POJO类添加自动填充的注解相关参数,用于指定哪些属性为自动填充

fill:自动填充参数

FieldFill.INSERT:在添加操作的时候自动填充指定的值
FieldFill.UPDATE:在修改操作的时候自动填充指定的值
FieldFill.INSERT_UPDATE:在添加操作和修改修改操作时都自动填充指定的值

1
2
3
4
5
@TableField(fill = FieldFill.INSERT)
private Date created;

@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updated;

创建一个Handler类

  • 创建一个Hanler类,实现MetaObjectHandler接口,用于定义自动填充的内容是什么

createdupdated:指定为哪个属性自动填充
date:指定自动填充的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {

@Override
public void insertFill(MetaObject metaObject) {
Date date = new Date();
this.setFieldValByName("created", date, metaObject);
this.setFieldValByName("updated", date, metaObject);
}

@Override
public void updateFill(MetaObject metaObject) {
Date date = new Date();
this.setFieldValByName("updated", date, metaObject);
}

}

完成