[toc]
MyBatisPlus
的自动填充
项目中经常会遇到一些数据,每次都使用相同的方式填充,例如记录的创建时间,更新时间等。我们可以使用MyBatisPlus
的自动填充功能,完成这些字段的赋值工作,当然也可以使用手动设置的方式,根据自己的习惯自行选择。
数据库表中添加自动填充字段
在User表中添加datetime
类型的新的字段 create_time、update_time
实体上添加注解
1 2 3 4 5 6 7 8 9 10 11
| @Data public class User { ...... @TableField(fill = FieldFill.INSERT) private Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE) private Date updateTime; }
|
实现元对象处理器接口
注意:不要忘记添加 @Component 注解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
@Component public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { this.setFieldValByName("createTime",new Date(),metaObject); this.setFieldValByName("updateTime",new Date(),metaObject); }
@Override public void updateFill(MetaObject metaObject) { this.setFieldValByName("updateTime",new Date(),metaObject); } }
|
测试
- 再执行insert操作和更新操作就会自动填充时间。
![8 mp实现自动填充](/medias/mybatisplus/8 mp实现自动填充-1586607059921.png)
☆