当在项目中需要对某些实体类中的公共的属性进行自动填充时,可以使用Mybatis-plus中的自动填充功能。
(1)我们可以在实体类中把要自动填充的类属性加上指定的注解@TableField(填写在上面方法时进行填充的枚举类型填充策略)
-
FieldFill.DEFAULT
:默认填充策略,不做任何处理。 -
FieldFill.INSERT
:仅在插入操作时自动填充字段。 -
FieldFill.UPDATE
:仅在更新操作时自动填充字段。 -
FieldFill.INSERT_UPDATE
:在插入和更新操作时都自动填充字段。 -
(2)书写用来填充的配置类
-
@Component public class metaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { this.setFieldValByName("createTime",new Date(),metaObject); this.setFieldValByName("createBy","1",metaObject); this.setFieldValByName("updateTime",new Date(),metaObject); this.setFieldValByName("updateBy","1",metaObject); } } @Override public void updateFill(MetaObject metaObject) { this.setFieldValByName("updateTime", new Date(), metaObject); this.setFieldValByName("updateBy", "1", metaObject); } }
注意:
(1)实现MetaObjectHandler接口 重写方法(按照idea提示就行)
(2)一定要加载进入ioc核心容器(@Component注解别忘记)