自动填充
项目中经常遇到的一些数据,每次都使用相同的方式填充,例如创建时间,更新时间 等
我们经常可以使用Mybatis Plus的自动填充功能,完成这些字段的赋值工作
例如:
-
在数据库表中添加create_time/update_time,类型为datetime
-
实体类中需要自动填充的属性上添加注解
-----好处:不需要set到对象里面的值,使用mp方法实现数据添加
@TableField(fill = FieldFill.INSERT) private Date createTime @TableField(fill = FieldFill.INSERT_UPDATE) private Date updateTime
-
创建类,实现接口MetaObjectHandler,实现接口里的方法
@Component
public class MyMetaObjectHandler implements MetaObjectHandel{
@Override
public void insertFill(MetaObject metaObject) {
metaObject.setValue("createTime", LocalDateTime.now());
metaObject.setValue("updateTime", LocalDateTime.now());
}
@Override
public void updateFill(MetaObject metaObject) {
metaObject.setValue("updateTime", LocalDateTime.now());
}