zoukankan      html  css  js  c++  java
  • MyBatis-Plus自动填充

    自动填充主要用于数据库操作中创建时间修改时间

    常用的数据库填充方法有两个:

    1. 数据库级别

    在表中新增字段create_timeupdate_time

    类型datatime,默认值current_time,在更新时✔️。

    1. 代码级别

    在表中新增字段create_timeupdate_time。类型datatime

    在实体类的字段属性上添加注解。

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    
    @ApiModelProperty(value = "更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;
    

    编写处理器,重写MetaObjectHandler,处理注解。

    package watt.gasleakage.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 watt
     * @Description 自动填充
     * @Date 2021/1/21 9:36
     */
    @Slf4j
    @Component // 记得将处理器加到IOC容器中
    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 insert fill>>>>>>>>>");
            this.setFieldValByName("updateTime",new Date(),metaObject);
        }
    }
    
    
  • 相关阅读:
    【BZOJ 4151 The Cave】
    【POJ 3080 Blue Jeans】
    【ZBH选讲·树变环】
    【ZBH选讲·拍照】
    【ZBH选讲·模数和】
    【CF Edu 28 C. Four Segments】
    【CF Edu 28 A. Curriculum Vitae】
    【CF Edu 28 B. Math Show】
    【CF Round 439 E. The Untended Antiquity】
    【CF Round 439 C. The Intriguing Obsession】
  • 原文地址:https://www.cnblogs.com/wattmelon/p/14307052.html
Copyright © 2011-2022 走看看