创建时间、修改时间,这些操作一般都是自动完成的,我们不希望手动更新
阿里巴巴开发手册: 所有的数据库表:gmt_create 、gmt_modified几乎所有的表都要配置上,而且需要自动化
方式一:数据库级别(不建议使用)
1、在表中新增字段create_time,update_time

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、编写处理器来处理这个注解即可
package com.cedric.mybatisplus.handler;import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;import lombok.extern.slf4j.Slf4j;import org.apache.ibatis.reflection.MetaObject;import org.springframework.stereotype.Component;import java.util.Date;@Component //一定要记住把处理器加到IOC容器中@Slf4jpublic class MyMetaObjectHandler implements MetaObjectHandler {// 插入时的填充策略@Overridepublic void insertFill(MetaObject metaObject) {log.info("start insert fill....");this.setFieldValByName("createTime",new Date(),metaObject);this.setFieldValByName("updateTime",new Date(),metaObject);}// 更新时的填充策略@Overridepublic void updateFill(MetaObject metaObject) {log.info("start update fill....");this.setFieldValByName("updateTime",new Date(),metaObject);}}
4、测试插入
5、测试更新、观察时间即可
