springboot整合mybaits多数据源的配置

9 篇文章 0 订阅
5 篇文章 0 订阅

springboot整合mybaits多数据源的配置,主要关系到是四个方面,

1、在配置文件中写明各个数据库的配置

2、添加各个数据库的config配置文件

3、指明各个数据库对应的Dao层接口的扫描

4、指明各个数据库对应Mapping文件的位置

好废话不多说,直接开始怼代码,

1、配置文件中声明各个数据库的配置,如下

spring:
    datasource:
      db2:
        driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
        jdbc-url: 数据库连接
        username: 用户名
        password: 密码
      db2:
        driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
        jdbc-url: 数据库连接
      username: 用户名
      password: 密码

这里需要多说一句,这里DataSource的别名,yml文件中需要全部为小写,大写会报错


2、在配置文件中新增两个配置文件分别叫DataSourceDBaConfig 和 DataSourceDBbConfig

文件内容大同小异,这里只列举一个,如下

@Configuration
@MapperScan(basePackages = "com.XXX.XXX.mapper.dba" , sqlSessionTemplateRef  = "dbaSqlSessionTemplate")   //这里的package指向的是DAO层的接口文件所在的包
public class DataSourceUCMLBusinessAConfig {
    @Bean(name = "dbaDataSource")
    @ConfigurationProperties(prefix = "spring.datasource.dba")//这里的前缀和yml配置文件中数据库的配置一致
    public DataSource ucmlbusinessaDataSource() {
        return DataSourceBuilder.create().build();
    }

    @Bean(name = "dbaSqlSessionFactory")
    public SqlSessionFactory dbaSqlSessionFactory(@Qualifier("dbaDataSource") DataSource dataSource) throws Exception {
        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
        bean.setDataSource(dataSource);
        bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:/mapping/dba/*.xml"));// 指向的是mapping文件的存放地址
        return bean.getObject();
    }

    @Bean(name = "dbaTransactionManager")
    public DataSourceTransactionManager ucmlbusinessaTransactionManager(@Qualifier("dbaDataSource") DataSource dataSource) {
        return new DataSourceTransactionManager(dataSource);
    }

    @Bean(name = "dbaSqlSessionTemplate")
    public SqlSessionTemplate ucmlbusinessaSqlSessionTemplate(@Qualifier("dbaSqlSessionFactory") SqlSessionFactory sqlSessionFactory) {
        return new SqlSessionTemplate(sqlSessionFactory);
    }

}

剩下就是集成mybatis,在这里就不赘述了




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT管道工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值