本文使用的版本:mybatis-plus 3.0.7.1,不同版本填充处理器可能有所不同!

(低版本有的是 extends MetaObjectHandler 而不是 implements MetaObjectHandler 来创建填充处理器)

compile("com.baomidou:mybatis-plus-boot-starter:3.0.7.1")

 

一、创建填充处理器:MetaObjectHandlerConfig 

@Component
public class MetaObjectHandlerConfig implements MetaObjectHandler {
   
    @Override
    public void insertFill(MetaObject metaObject) {
        Date now = new Date();
        setFieldValByName("createDate", now, metaObject);      
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        Date now = new Date();
        this.setFieldValByName("modifyDate", now, metaObject);
    }

 

二、配置填充处理器:

   
public MybatisSqlSessionFactoryBean sqlSessionFactory(@Qualifier("primaryDataSource") DataSource dataSource) throws IOException {
        MybatisSqlSessionFactoryBean mybatisPlus = new MybatisSqlSessionFactoryBean();

        //加载数据源
        mybatisPlus.setDataSource(dataSource);
        
        //全局配置
        GlobalConfig globalConfig  = new GlobalConfig();
        //配置填充器
        globalConfig.setMetaObjectHandler(new MetaObjectHandlerConfig());
        mybatisPlus.setGlobalConfig(globalConfig);
        
        return mybatisPlus;
    }

 

(xml 方式配置参考链接)  跳转

 

三、使用时,设置填充字段的填充类型:

    /*
    * 创建时间
    * */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createDate;

    /*
    * 修改时间
    * */
    @TableField(fill = FieldFill.UPDATE)
    private LocalDateTime modifyDate;

 

转载于:https://www.cnblogs.com/stephen-java/p/11247020.html

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐