业务分析
说明: 如果每次新增/更新时 都需要添加创建时间/修改时间 这样做比较繁琐.能否通过框架自动的实现数据填充.
添加自动填充注解
//pojo基类,完成2个任务,2个日期,实现序列化
@Data
@Accessors(chain=true)
public class BasePojo implements Serializable{
@TableField(fill = FieldFill.INSERT) //新增操作时,实现自动填充
private Date created; //表示入库时需要赋值
@TableField(fill = FieldFill.INSERT_UPDATE) //新增/修改操作时,自动填充
private Date updated; //表示入库/更新时赋值.
}
配置自动填充类
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
//框架用法说明: MP根据实现类,自动的完成数据的注入. MP框架自动调用
//metaObject: 指定默认的规则
@Override
public void insertFill(MetaObject metaObject) {
Date date = new Date();
this.setFieldValByName("created", date, metaObject);
this.setFieldValByName("updated", date, metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("updated", new Date(), metaObject);
}
}