目前站内已经有很多配置多数据库源的教程了,从我搜索的结果,基本都是扫描不同mapper包或使用AOP模式来切换不同数据库源,两种方法的颗粒度都太大了。所以我就写了一个通过获取不同的SqlSession,实现在同一方法内访问不同数据库。
第一步,创建一个springboot项目。
第二步,在application.yml文件中做如下配置
spring:
application:
name: business-service
datasource:
type: com.alibaba.druid.pool.DruidDataSource
#主数据库源
primary:
datasource:
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/lanaya_dev?serverTimezone=GMT%2B8&useSSL=false
username: root
password: root
filters: stat
initialSize: 1
minIdle: 1
maxActive: 20
maxWait: 10000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1
testOnBorrow: false
testOnReturn: false
#打开PSCache,并指定每个连接上PSCache的大小。oracle设为true,mysql设为false。分库分表较多推荐设置为false
poolPreparedStatements: false
maxPoolPreparedStatem