# MyBatis-Plus教程 - 12 自动填充
什么是自动填充?
我们在插入或更新数据的时候,经常需要设置插入时间或更新时间,每个表的插入和更新操作都需要进行这些相同的操作。
我们可以使用 MyBatis-Plus 提供的自动填充功能,在插入或更新的时候,自动填充类似创建时间、更新时间、操作人等字段,减少手动设置这些字段的工作量,并确保数据的一致性。
# 12.1 自动填充的实现
下面以自动填充创建时间和更新时间为例,演示自动填充的实现。
# 1 数据库表设置
首先数据库得有创建时间和更新时间的字段,添加 create_time
和 update_time
字段,类型为 datetime
。
前面我的表中已经有了。
# 2 修改pojo
实体类中属性需要添加 @TableField
注解,
User.java:
@Data
@TableName("tb_user")
public class User {
private Long id;
private String username;
private String password;
private Integer age;
private String email;
@TableField(fill = FieldFill.INSERT)
private Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
在 createTime
和 updateTime
属性上添加 @TableField
注解。FieldFill.INSERT
表示插入的时候填充,FieldFill.INSERT_UPDATE
表示插入和更新的时候填充,还有 FieldFill.UPDATE
可以使用,表示只有在更新的时候自动填充。
# 3 实现 MetaObjectHandler
创建包(自定定义或使用已存在的包),并在其下创建一个类来实现 MetaObjectHandler
接口,并重写 insertFill
和 updateFill
方法。
内容未完......
← 11-映射枚举 13-悲观锁与乐观锁 →