zoukankan      html  css  js  c++  java
  • mybatisplus添加字段填充

    使用mybatisplus开发时,有一些字段是通用的,为避免每次都要重复写代码,可以使用字段填充功能,包括 INSERT和UPDATE

      一、在所需要的实体类的字段上添加

    @TableField(value = "F_CREATORUSERID",fill = FieldFill.INSERT)
    private String creatorUserId;

    或者

    @TableField(value = "F_LASTMODIFYTIME",fill = FieldFill.UPDATE)
    private Date lastModifyTime;
    二、添加完之后我们需要建个类继承MetaObjectHandler来实现字段填充
    @Component
    public class MybatisPlusMetaObjectHandler implements MetaObjectHandler {
    
    
        private UserProvider userProvider;
    
        @Override
        public void insertFill(MetaObject metaObject) {
            userProvider = SpringContext.getBean(UserProvider.class);//此处是为获取用户信息而添加的
            UserInfo userInfo=userProvider.Get();
            this.setFieldValByName("creatorUserId", userInfo.getUserId(),metaObject);
            this.setFieldValByName("creatorTime", new Date(),metaObject);
        }
    
        @Override
        public void updateFill(MetaObject metaObject) {
            userProvider = SpringContext.getBean(UserProvider.class);
            UserInfo userInfo=userProvider.Get();
            this.setFieldValByName("lastModifyTime", new Date(),metaObject);
            this.setFieldValByName("lastModifyUserId", userInfo.getUserId(),metaObject);
        }
    
    
    }

    三、需要在mybatisconfig中添加全局配置GlobalConfig
    //全局配置
    GlobalConfig globalConfig  = new GlobalConfig();
    //配置填充器
    globalConfig.setMetaObjectHandler(new MybatisPlusMetaObjectHandler());
    bean.setGlobalConfig(globalConfig);



    添加完这个就可以实现自动填充了
     
    
    


  • 相关阅读:
    VS批处理命令使用
    python实现域账号登陆
    Sql Server 优化技巧
    Windows 2012 R2 安装net4.6.1
    Resharper报“Possible multiple enumeration of IEnumerable”
    京东模拟点击
    使用常规方法爬取猫眼电影
    关于断点调试
    看网络开发实战书笔记
    scrapy的request的meta参数是什么意思?
  • 原文地址:https://www.cnblogs.com/jsfh/p/13398116.html
Copyright © 2011-2022 走看看