springboot实现动态数据库切换
随着项目中的开发,有的时候我们项目需要可以从多个数据库查询结果。比如:user表从datasource来查询,user1从datasource1查询。具体的业务的话具体实现。
那如果我们从springboot角度开发,怎么办?
aop注解方式
准备工作
二个数据库和二张表建好了,其中testdatasource1为芳年25岁的张三, testdatasource2为芳年30岁的李四。
新建springboot项目,添加依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>5.1.5.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.2</version>
</dependency>
配置二个数据源
#配置主数据库
spring.datasource.primary.jdbc-url=jdbc:mysql://localhost:3306/testdatasource1?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false
spring.datasource.primary.username=root
spring.datasource.primary.pas