1)首先我们在实体类中加两个字段
createTime和updateTime
@TableField(fill = FieldFill.INSERT)
private Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
相应的数据库中也得加上这两个字段
@TableField(fill = FieldFill.INSERT)
表示插入数据时,该字段实现自动填充
见名之意:@TableField(fill = FieldFill.INSERT_UPDATE)
表示插入和修改数据的时候,该字段实现自动填充
一般自动填充都用于和时间打交道的代码
2)接下来我们需要创建一个类 MyMetaObjectHandler 实现一个接口 MetaObjectHandler
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.util.Date;
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
//插入数据时执行
@Override
public void insertFill(MetaObject metaObject) {
this.setFieldValByName("createTime",new Date(),metaObject);
this.setFieldValByName("updateTime",new Date(),metaObject);
}
//修改数据时执行
@Override
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("updateTime",new Date(),metaObject);
}
}
这样我们在插入和修改数据时,createTime和updateTime都会自动填充