自动填充
数据库级别
1.数据库新增字段,并设置
2.实体类添加数据库新增的时间字段
3.执行更新操作后查看结果
代码级别
1.删除数据库的默认值、自动更新操作
2.实体类字段属性上增加相应的注解
@TableField(fill = FieldFill.INSERT)
private Date createTime;
@TableField(fill = FieldFill.UPDATE)
private Date updateTime;
3.元数据处理器
package com.sw.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;
/**
* @Author suaxi
* @Date 2021/4/5 11:14
* 元数据处理器
*/
@Slf4j
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
//插入时填充策略
@Override
public void insertFill(MetaObject metaObject) {
log.info("start insert fill");
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);
}
}
4.执行插入、更新测试后查看数据库
评论 (0)