创建时间、修改时间这些个操作都是自动化完成的,我们不希望手动更新!
根据阿里巴巴开发手册,有这么一句话:所有的数据库表当中必须有gmt_create、gmt_modified,几乎所有的表都要配置上!而且需要自动化!!!
方式一:数据库方式:(这个方法是mysql版本在5之上,否则会报错)
1、在数据库表中新增create_time、update_time字段
CURRENT_TIMESTAM
2、在实体类中同步对应属性
private Date createTime;
private Date updateTime;
3、查看测试结果
方式二、代码实现
1、删除数据表中的默认值,更新操作。
2、在实体类属性中添加所需的注解
@TableField(fill = FieldFill.INSERT)
private Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
3、编写处理器处理这些个注解即可
@Slf4j
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
log.info("start insert ...");
this.setFieldValByName("createTime",new Date(),metaObject);
this.setFieldValByName("updateTime",new Date(),metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
log.info("start update ...");
this.setFieldValByName("updateTime",new Date(),metaObject);
}
}
4、测试效果