一. 背景
我们的实体类中经常会用到创建时间 (createTime),修改时间 (updateTime) 之类的常用字段,如果每次插入和更新都去手动生成并填充,会产生很多重复的代码,MyBatis Plus其实已经为我们提供了自动填充功能,只要我们进行简单的配置,即可实现代码的简化。
代码采用 SpringBoot 进行开发。
二.实现步骤
整体实现思路:
通过抽取公用字段封装到 BaseEntity 类中,再将使用到此公共字段的类继承基类,最后由 MyBatis Plus 帮我们实现自动填充。
1.在基类 BaseEntity 代码中添加注解,用于标识需要填充的字段:
/**
* @description 实体基类.
*/
@Data
@ApiModel(value = "BaseEntity", description = "实体基类")
public class BaseEntity implements Serializable {
private static final long serialVersionUID = 7229711996915758071L;
/**
* 主键
*/
@Id
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "主键自增列")
protected Long id;
/**
* 创建时间(新增时自动填充创建时间)
*/
@ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
protected Date createTime;
/**
* 更新时间(更新时自动填充更新时间)
*/
@ApiModelProperty(value = "更新时间"