公共字段自动填充
在多个数据表中有许多相同的重复的字段,对应的,我们在更新数据或修改数据的时候就需要去设置这些字段,当功能多的时候,就会重复很多操作。
能不能对这些公共字段在某个地方统一处理,来简化开发呢?
答案就是使用MybatisPlus提供的公共字段自动填充功能。
实现步骤:
-
在实体类的属性上加入@TableField注解,指定自动填充的策略
@TableField(fill = FieldFill.INSERT)//插入时填充字段 private LocalDateTime createTime; @TableField(fill = FieldFill.INSERT_UPDATE)//插入和更新时填充字段 private LocalDateTime updateTime; @TableField(fill = FieldFill.INSERT) private Long createUser; @TableField(fill = FieldFill.INSERT_UPDATE) private Long updateUser;
-
按照框架要求编写元数据对象处理器,在此类中统一为公共字段赋值,此类需要实现MetaObjectHandler接口
加入配置类进行处理,对填充的数据做规定
在common包下创建一个自定义类,实现MetaObjectHandler接口下的insertFill和updateFill确认填充时需要的字段
package com.baomidou.mybatisplus.annotation; public enum FieldFill { DEFAULT,//默认情况