4.自动填充

suaxi
2021-04-05 / 0 评论 / 60 阅读 / 正在检测是否收录...

自动填充

数据库级别

1.数据库新增字段,并设置

1.自动填充-数据库级别.png


2.实体类添加数据库新增的时间字段


3.执行更新操作后查看结果

2.自动填充-数据库级别-测试结果.png


代码级别

1.删除数据库的默认值、自动更新操作

3.自动填充-代码级别.png


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.执行插入、更新测试后查看数据库

4.代码级别自动填充测试.png

0

评论 (0)

取消