第 3-6 课:Spring Data JPA 多数据源的使用

项目中使用多个数据源在以往工做中比较常见,微服务架构中不建议一个项目使用多个数据源。在微服务架构下,一个微服务拥有本身独立的一个数据库,若是此微服务要使用其余数据库的数据,须要调用对应库的微服务接口来调用,而不是在一个项目中链接使用多个数据库,这样微服务更独立、更容易水平扩展。数据库

虽然在微服务架构下,不提倡一个项目拥有多个数据源,但在 Spring Boot 体系中,项目实现多数据源调用倒是一件很容易的事情,本节课将介绍 Spring Data JPA 多数据源的使用。架构

Spring Data JPA 使用多数据源的总体思路是,配置不一样的数据源,在启动时分别加载多个数据源配置,而且注入到不一样的 repository 中。这样不一样的 repository 包就有不一样的数据源,使用时注入对应包下的 repository,就会使用对应数据源的操做。微服务

对照前两课的示例项目,本课内容将会对项目结构有所调整,以下:spa

multi_jap.png

其中:接口

  • config 启动时加载、配置多数据源;
  • model 存放数据操做的实体类;
  • repository 目录下有两个包路径 test1 和 test2 ,分别表明两个不一样数据源下的仓库,这两个包下的 repository 能够相同也能够不一样。

下面演示一下项目。it

多数据源的支持

配置 Spring Data JPA 对多数据源的使用,通常分为如下几步:class

  • 建立数据库 test1 和 test2