spring-boot+mybatis-plus多数据源的情况下无法访问basemapper提供的方法问题

spring-boot+mybatis-plus多数据源的情况下无法访问basemapper提供的方法问题

网上看了很多,这里贴一个经测可行的解决方案

  @Bean(name = "secondarySqlSessionFactory")
  public SqlSessionFactory secondarySqlSessionFactory(@Qualifier("secondaryDataSource") DataSource dataSource) throws Exception {
        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
        bean.setDataSource(dataSource);
        //读取mybatis xml文件位置
        bean.setMapperLocations(new PathMatchingResourcePatternResolver()
                .getResources("classpath:com/lonelywolf/boot/localdatasource/mydemo/mapper/xml/*.xml"));
        return bean.getObject();
    }

将SqlSessionFactoryBean实体换为MybatisSqlSessionFactoryBean实体即可访问basemapper
demo源码:https://github.com/1290054578/spring-boot-test.git

  • 或者换个姿势
    或者采用dynamic-datasource-spring-boot-starter多数据源启动器,可以快速集成mybatis-plus(同一个小组开发的)
    代码库地址:https://gitee.com/baomidou/dynamic-datasource-spring-boot-starter

注解快速切换至从库
spring-boot+mybatis-plus多数据源的情况下无法访问basemapper提供的方法问题_第1张图片

你可能感兴趣的:(Spring-boot,Mybatis-plus)