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);
        }
    }
    
    
  • 相关阅读:
    【微信小程序】---线上环境搭建
    【vue】---项目接口管理---【巷子】
    【微信小程序】---授权登陆---【巷子】
    【react】---17新增的生命周期
    laravel 管道设计模式
    vim相关
    OAuth 2.0及微信网页授权
    linux下目录的读、写、执行权限辨析
    NIM游戏
    姿态角(欧拉角)yaw、pitch、roll语义解释
  • 原文地址:https://www.cnblogs.com/wattmelon/p/14307052.html
Copyright © 2011-2022 走看看