mp自动填充

在开发过程中,db的设计中会有这条数据的创建时间与修改时间

但怎么样能省去set的过程呢,这里使用Mybatis Plus的自动填充功能

一、在实体类上加入注解

/**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

二、实现元对象处理器接口

注意:不要忘记加@Component注解

package com.audit.handler;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

import java.util.Date;

@Component
public class MyMetaObjectHandler implements MetaObjectHandler {

    private static final Logger logger= LoggerFactory.getLogger(MetaObjectHandler.class);

    /**
     * 插入元对象字段填充(用于插入时对公共字段的填充)
     *
     * @param metaObject 元对象
     */
    @Override
    public void insertFill(MetaObject metaObject) {
        logger.info("start insert fill ...");
        this.setFieldValByName("createTime",new Date(),metaObject);
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }

    /**
     * 更新元对象字段填充(用于更新时对公共字段的填充)
     *
     * @param metaObject 元对象
     */
    @Override
    public void updateFill(MetaObject metaObject) {
        logger.info("start update fill ...");
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }
}

 

这样,在使用mp进行添加操作时就可以实现自动填充

上一篇:使用Source Monitor检测Java代码的环复杂度


下一篇:linux 更新yum源 改成阿里云源