springBoot配置mybatis-plus双数据源

springBoot配置mybatis-plus双数据源

1. 配置数据源

写两个配置config类

@Configuration
@MapperScan(basePackages = "com.demo.mapper.tb1",sqlSessionFactoryRef = "db1SqlSessionFactory")
public class DataSource1Config {

    @Bean(name="db1DataSource")
    @ConfigurationProperties(prefix = "spring.datasource.tb1")
    @Primary
    public DataSource druidDataSource1() {
        DruidDataSource druidDataSource = new DruidDataSource();
        return druidDataSource;
    }

    @Bean("db1SqlSessionFactory")
    @Primary
    public SqlSessionFactory sqlSessionFactory1(@Qualifier("db1DataSource")DataSource db1) throws Exception {
        MybatisSqlSessionFactoryBean sqlSessionFactoryBean = new MybatisSqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(db1);

        //配置IPage分页信息
        MybatisConfiguration configuration=new MybatisConfiguration();
        configuration.addInterceptor(new PaginationInterceptor());
        sqlSessionFactoryBean.setConfiguration(configuration);

        sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver()
                .getResources("classpath:mapper/*/*.xml"));
        return sqlSessionFactoryBean.getObject();
    }
}

第二个配置类

@Configuration
@MapperScan(basePackages = "com.demo.mapper.tb2",sqlSessionFactoryRef = "db2SqlSessionFactory")
public class DataSource2Config {

    @Bean(name="db2DataSource")
    @ConfigurationProperties(prefix = "spring.datasource.tb2")
    public DataSource druidDataSource1() {
        DruidDataSource druidDataSource = new DruidDataSource();
        return druidDataSource;
    }

    @Bean("db2SqlSessionFactory")
    public SqlSessionFactory sqlSessionFactory1(@Qualifier("db2DataSource")DataSource db2) throws Exception {
        MybatisSqlSessionFactoryBean sqlSessionFactoryBean = new MybatisSqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(db2);

        MybatisConfiguration configuration=new MybatisConfiguration();
        configuration.addInterceptor(new PaginationInterceptor());
        sqlSessionFactoryBean.setConfiguration(configuration);

        sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver()
                .getResources("classpath:mapper/*/*.xml"));
        return sqlSessionFactoryBean.getObject();

    }
}

这里是yml配置文件

spring:
    #数据库配置
 datasource:
  type: com.alibaba.druid.pool.DruidDataSource
  tb1:
    url: jdbc:mysql://localhost:3306/tb1?characterEncoding=utf8&serverTimezone=Asia/Shanghai
    username:
    password:
    driver-class-name: com.mysql.cj.jdbc.Driver
  tb2:
   url: jdbc:mysql://localhost:3306/tb2?characterEncoding=utf8&serverTimezone=Asia/Shanghai
   username:
   password:
   driver-class-name: com.mysql.cj.jdbc.Driver

最后一个配置类 配置mybayis-pus的Ipage分页信息, 不配置的话,自带分页会失效的

@Configuration
public class MybatisPlusConfig {

    /**
     * 分页插件
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }
}

到此就可以运行项目啦!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值