springBoot整合相关
1:springBoot整合多数据源:
应用场景: 项目需要同时连接两个不同的数据库A, B,并且它们都为主从架构,一台写库,多台读库。
工具/版本:
jdk1.8、idea2018.1.4、springBoot2.0.1
注意:一定要统一版本,特别是springBoot不然或出问题。
创建项目:
我这里的项目与上一篇的springBoot整合mybatis、jsp是一样的就不重新建了。
下面我们看一下项目结构:
红框表示整合多数据源用到的模块:
下面我们开始整合:
1:首先:我们在application.properties配置文件中配置两个数据源:
application.properties :
1 #test01 datasource2 spring.datasource.hikari.test1.driver-class-name =com.mysql.jdbc.Driver3 spring.datasource.hikari.test1.jdbc-url = jdbc:mysql://localhost:3306/test01?useUnicode=true&characterEncoding=utf-8
4 spring.datasource.hikari.test1.username =root5 spring.datasource.hikari.test1.password =admin6
7 ####test02 datasource8 spring.datasource.hikari.test2.driver-class-name =com.mysql.jdbc.Driver9 spring.datasource.hikari.test2.jdbc-url = jdbc:mysql://localhost:3306/test02?useUnicode=true&characterEncoding=utf-8
10 spring.datasource.hikari.test2.username =root11 spring.datasource.hikari.test2.password = admin
2: 然后新建dataSource包 :参考上面的项目结构
新建类:Datasource1Config :
注:该数据源只针对下面的test1包下面的所有方法
1 packagecom.dengwei.springdemo.dataSource;2
3 importorg.apache.ibatis.session.SqlSessionFactory;4 importorg.mybatis.spring.SqlSessionFactoryBean;5 importorg.mybatis.spring.SqlSessionTemplate;6 importorg.mybatis.spring.annotation.MapperScan;7 importorg.springframework.beans.factory.annotation.Qualifier;8 importorg.springframework.boot.context.properties.ConfigurationProperties;9 importorg.springframework.boot.jdbc.DataSourceBuilder;10 importorg.springframework.context.annotation.Bean;11 importorg.springframework.context.annotation.Configuration;12 importorg.springframework.context.annotation.Primary;13 importorg.springframework.jdbc.datasource.DataSourceTransactionManager;14
15 importjavax.sql.DataSource;16 /*
17 * @Configuration :// 注册到spring