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);
        }
    }
    
    
  • 相关阅读:
    Mysql基础学习
    shell中脚本调试----学习
    Eureka 集群Demo
    Java获取到异常信息进行保存(非Copy)
    Feign String 参数 传递null 以及 空字符串问题
    Eureka系列(九)Eureka自我保护机制
    Eureka系列(八)服务剔除具体实现
    Eureka系列(六) TimedSupervisorTask类解析
    Eureka系列(五) 服务续约流程具体实现
    Eureka系列(四) 获取服务Server端具体实现
  • 原文地址:https://www.cnblogs.com/wattmelon/p/14307052.html
Copyright © 2011-2022 走看看