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);
        }
    }
    
    
  • 相关阅读:
    团队作业(三)
    第四章学习笔记
    2.3.1测试
    缓冲区溢出漏洞实验
    第三章学习笔记
    团队作业(二)
    第十一章学习笔记
    第7,8章自学笔记
    stat命令实现—mystat
    第五章学习笔记
  • 原文地址:https://www.cnblogs.com/wattmelon/p/14307052.html
Copyright © 2011-2022 走看看