网上大多数教程都是比较老的版本(Springboot1.x),很多方法已经因升级而不再被支持,我经过实践,找到了一种比较简单的方案来配置多数据源,基本可以直接放在自己的项目中修改使用。
如何建立Springboot项目等过程我就不赘述了,相信看到这篇文章的你已经熟练掌握,我只写一下配置的方式以及简单的功能实现。
项目的部分pom.xml简单列出来大家参考一下。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
</parent>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
我们在application.yml中配置多数据源的基本信息,注意,配置多数据源时不要配置spring.datasource,连接池我用的是阿里的druid,没有的话可以用默认的。
另外,在springboot2.x中配置多数据源时,原来的url部分要用jdbc-url,否则会报错java.lang.IllegalArgumentException: jdbcUrl is required with driverClassName.
application.yml配置多数据源
market: # 市场数据库
datasource:
driver-class-name: com.mysql.jdbc.Driver
jdbc-url: jdbc:mysql://127.0.0.1:3306/market?useUnicode=true&characterEncoding=UTF-8&a