创建时间、修改时间!这些个操作一遍都是自动化完成的,我们不希望手动更新!
阿里巴巴开发手册:所有的数据库表:gmt_create、gmt_modified几乎所有的表都要配置上!而且需
要自动化!
方式一:数据库级别
数据库级别(但是在工作中不允许你修改数据库,不推荐这种!)
步骤一、在表中新增字段 create_time, update_time
步骤二、实体类同步,插入新的属性!
private Date createTime;
private Date updateTime;
步骤三、测试,更新查看结果即可
方式二:代码级别
代码级别,推荐使用!
步骤一:删除数据库的时间字段的默认值、更新操作!
步骤二:实体类时间字段属性上需要增加注解!
// 字段添加填充内容
@TableField(fill = FieldFill.INSERT)
private Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
步骤三:编写处理器来处理这个注解即可!
@Slf4j
@Component // 一定不要忘记把处理器加到IOC容器中!
public class MyMetaObjectHandler implements MetaObjectHandler {
// 插入时的填充策略
@Override
public void insertFill(MetaObject metaObject) {
log.info("start insert fill.....");
// setFieldValByName(String fieldName, Object fieldVal, MetaObject
metaObject
this.setFieldValByName("createTime",new Date(),metaObject);
this.setFieldValByName("updateTime",new Date(),metaObject);
}
// 更新时的填充策略
@Override
public void updateFill(MetaObject metaObject) {
log.info("start update fill.....");
this.setFieldValByName("updateTime",new Date(),metaObject);
}
}
步骤四:测试插入,测试更新、观察时间即可!