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);
        }
    }
    
    
  • 相关阅读:
    新文章new图标
    3.6SiteFactory专业版,顶部导航的最后一个栏目向下移位的解决办法
    http://goodboy5264.blog.163.com/
    提升你网站水平的 jQuery 插件推荐
    如何把导航条做成sitefactory政府版的样子实现动态读取子栏目显示
    好的链接
    2011年度最佳jQuery插件
    asp中日期时间函数介绍
    若干设计模式学习
    多线程学习
  • 原文地址:https://www.cnblogs.com/wattmelon/p/14307052.html
Copyright © 2011-2022 走看看