首页 归档 关于 learn love 工具

MyBatis Plus自定义通用方法

MyBatis Plus支持自定义通用方法,自定义通用方法与MP自带的通用方法一样,都会在应用启动时将方法注入到全局中。自定义通用方法的步骤:

  1. 在XxxMapper中定义想要自定义的通用方法,XxxMapper要继承BaseMapper
  2. 创建一个类继承AbstractMethod,重写injectMappedStatement()方法,该方法中输入写自定义通用方法的SQL语句
  3. 创建一个XxxInjector类继承DefaultInjector,重写getMethodList()方法,该方法中将包含了自定义SQL语句的类的实例化对象添加到methodList中
  4. 在配置文件中通过bean标签配置自定义的XxxInjector,并在全局配置中通过属性sqlInjector引入

步骤4中,配置自定义注入器范例代码如下

   @Bean
    public SqlSessionFactory sqlSessionFactory(DriverManagerDataSource dataSource) throws Exception {
        MybatisSqlSessionFactoryBean factoryBean = new MybatisSqlSessionFactoryBean();
        GlobalConfig globalConfig = GlobalConfigUtils.defaults();
        globalConfig.setSqlInjector(new LzcLogicSqlInjector());
        factoryBean.setGlobalConfig(globalConfig);
        factoryBean.setDataSource(dataSource);
        return factoryBean.getObject();
    }

参考

https://juejin.cn/post/7093825235393773605