开发中,我们常常在数据库的大部分表中喜欢预留一些通用字段,比如插入时间、更新时间、创建人等等,有些字段可以通过数据库表设置列的默认值,有些业务范围的默认值就必须由java来生成,mybaits-plus框架在使用过程,设置了这样一个填充功能,可以发生在DDL操作中。
所有orm实体类,抽离一个父类,包含了通用的字段,并使用@TableField注解fill属性来设置填充的DDL时机
@Data
public abstract class DataEntity implements Serializable {
/**
* 主键
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 创建者
*/
@TableField(fill = FieldFill.INSERT)
private Long createUser;
/**
* 插入时间
*/
@TableField(fill = FieldFill.INSERT)
private Date insertTime;
/**
* 更新时间
*/
@TableField(fill = FieldFill.UPDATE)
private Date updateTime;
}
注册mybatis-plus填充handler处理类
@Component
public class MybatisFill