背景:
项目中需要从两个不同的数据库查询数据,之前实现方法是:springboot配置连接一个数据源,另一个使用jdbc代码连接。
为了改进,现在使用SpringBoot配置连接两个数据源
实现效果:
一个SpringBoot项目,同时连接两个数据库:比如一个是pgsql数据库,一个是oracle数据库
(啥数据库都一样,连接两个同为oracle的数据库,或两个不同的数据库,只需要更改对应的driver-class-name和jdbc-url等即可)
注意:连接什么数据库,要引入对应数据库的包
实现步骤:
1、修改application.yml,添加一个数据库连接配置
(我这里是yml格式,后缀为properties格式是一样的)
server:
port:7101spring:
jpa:
show-sql: truedatasource:
test1:
driver-class-name: org.postgresql.Driver
jdbc-url: jdbc:postgresql://127.0.0.1:5432/test #测试数据库
username: root
password: root
test2:
driver-class-name: oracle.jdbc.driver.OracleDriver
jdbc-url: jdbc:oracle:thin:@127.0.0.1:8888:orcl #测试数据库
username: root
password: root
注意红色字体:
(1)使用test1、test2区分两个数据库连接
(2)url改为:jdbc-url
2、使用代码进行数据源注入,和扫描dao层路径(以前是在yml文件里配置mybatis扫描dao的路径)
新建config包,包含数据库1和数据库2的配置文件
(1)第一个数据库作为主数据库,项目启动默认连接此数据库
DataSource1Config.java
packagecom.test.config;importorg.apache.ibatis.session.SqlSessionFactory;importorg.mybatis.spring.SqlSessionFactoryBean;importorg.mybatis.spring.SqlSessionTemplate;importorg.mybatis.spring.annotati