首页 > 其他分享 >公共字段自动填充,例如更新时间,创建时间,创建人等

公共字段自动填充,例如更新时间,创建时间,创建人等

时间:2023-04-01 21:16:22浏览次数:37  
标签:updateTime metaObject 填充 setFieldValByName BaseContext 时间 LocalDateTime 创建人 impo

 

 

 加这个注解,可以创建,可以修改,也可以创建与修改时:

 @TableField(fill = FieldFill.INSERT_UPDATE)//创建与修改时自动填充
    private LocalDateTime updateTime;

然后编写一个类,实现MetaObjectHandler接口重写insert和update方法例如:

mport com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.rome.backend.common.BaseContext;//自己编写的类可以用ThrowLcal
import org.apache.ibatis.reflection.MetaObject;

import org.springframework.stereotype.Component;


import java.time.LocalDateTime;

@Component
public class DateConfig implements MetaObjectHandler {


    /**
     * 使用mp做添加操作时候,这个方法执行
     * @param metaObject
     */
    @Override
    public void insertFill(MetaObject metaObject) {
        //设置属性值             属性名         属性值            
        this.setFieldValByName("createTime",LocalDateTime.now(),metaObject);
        this.setFieldValByName("updateTime",LocalDateTime.now(),metaObject);
        this.setFieldValByName("createUser", BaseContext.getCurrentId(),metaObject);
        this.setFieldValByName("updateUser",BaseContext.getCurrentId(),metaObject);

    }

    /**
     * 使用mp做修改操作时候,这个方法执行
     * @param metaObject
     */
    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("updateTime",LocalDateTime.now(),metaObject);
        this.setFieldValByName("updateUser",BaseContext.getCurrentId(),metaObject);
    }

}

  

标签:updateTime,metaObject,填充,setFieldValByName,BaseContext,时间,LocalDateTime,创建人,impo
From: https://www.cnblogs.com/romablog/p/17279358.html

相关文章

  • 时间复杂度
    ......
  • cout<<endl输出时间过长问题
    做oj题目3333的时候发现了使用cout<<endl;爆出TLE错误的情况而使用printf("\n")、cout<<"\n"、cout<<'\n'以及puts("")都没有这种情况使用cout<<endl;的情况使用cout<<"\n";的情况使用printf("\n");的情况 使用puts(&q......
  • gin08-时间戳转时间
    循环赋值forindex,r:=rangeres{t:=r.AddTimeres[index].FriendTime=time.Unix(t,0).Format("2006-01-0215:04:05")} packagemainimport("time""fmt")funcmain(){//获取当前时间t:=time.Now()//201......
  • Hangfire 定时任务设置某个时间区间每隔一定时间触发的Cron表达式
    Cron表达式Hangfire使用类似于Linux下的Cron表达式定义时间规则,Cron表达式由6或7个由空格分隔的时间字段组成。Cron表达式时间字段(从左到右依次为):位置时间域名允许值允许的特殊字符1秒0-59,-*/2分钟0-59,-*/3小时0-23,-*/4日期1-31......
  • IntelliJ IDEA技巧 格式化代码、有时候代码太乱,手动调整代码代码多的时候太浪费时间了
    系列文章目录文章目录系列文章目录第一步第二步开始使用第一步更改Java等常用代码的展示效果1、打开IDEA左上角File—>Settings。2、选择Editor—>CodeStyle—>Java(可根据实际需要更改语言)。第二步开始使用前面的工作做完之后,这里的格式化代码的快捷键才会出来试试看......
  • 项目一众筹网05_01_[树形结构开发]菜单维护-树形结构基础知识、自关联、zTree的介绍和
    树形结构开发]菜单维护文章目录树形结构开发]菜单维护01-菜单维护-树形结构基础知识-上==在数据库中怎么去表示树形关系====其实这就是自关联====我们怎么识别根节点==02-菜单维护-树形结构基础知识-下03-页面显示树形结构-后端-逆向工程==开发的细节:如何避免空指针异常:初始化==04-......
  • Codeforces Gym 103931F - Forest of Magic(时间轴分块+线段树合并)
    一个巨烦的时间轴分块做法,有点类似于P2137Gty的妹子树先考虑静态的情况。看上去就一脸线段树合并对吧?一次修改的操作对一个点\(x\)贡献可以写成\(k·dep_x+b\)的形式,开两棵线段树合并维护一次项和零次项系数即可。由于静态问题可做,因此考虑时间轴分块。设阈值\(B\),每\(B......
  • 网络时钟同步设备(NTP时间同步服务器)技术设计应用方案
    网络时钟同步设备(NTP时间同步服务器)技术设计应用方案网络时钟同步设备(NTP时间同步服务器)技术设计应用方案京准电子科技官微——ahjzsz网络时钟系统,顾名思义就是由1/2套母钟和一群子钟组成。如果你选择了安徽京准公司的HR系列时钟系统产品,那么所有的系统设计将会变得非常简单: ......
  • 生成时间以及时间转换
    1、时间戳:importtimet=int(time.time())#1499825149秒t1=int(round(time.time()*1000))#1666321307232毫秒t2=int(round(time.time()*1000000))#1499825149257892微秒2、获取当前时间:importdatetimedt=datetime.datetime.now().strftime('%Y-%m-......
  • jackson时间格式解决方案
    jackson时间格式解决方案你遇到下面这个异常吗??com.fasterxml.jackson.databind.exc.InvalidFormatException:Cannotdeserializevalueoftype`java.util.Date`fromString"2021-01-2322:02:17":notavalidrepresentation(error:FailedtoparseDatevalue'2021......