Spring Boot Jpa多数据源配置

前言

随着业务量发展,我们通常会进行数据库拆分或是引入其他数据库,从而我们需要配置多个数据源,如:user一个库,business一个库。那么接下来我们就要考虑怎么去在spring boot中实现多个数据源的配置。

源码下载

实现

建表

首先是建表语句,我们要建立两个数据库,并各库内新建一张表

user表

business表

接下来我们通过代码实现对两个库内的多张表进行查询。

配置

首先,创建一个Spring配置类,定义两个DataSource用来读取中的不同配置。本文中,我们user做为主数据源,主数据源配置为开头的配置,business数据源配置为开头的配置。

对应的配置文件如下:

接下来我们对各数据源进行jpa的配置

主数据源User

其他数据源business

配置中需要注意以下几点:

Spring Boot 1.5.x

Spring Boot 2.0.x

Spring Boot 2.1.0参见上文代码,引进了。同时,在Spring Boot 2.1.0中默认的版本为8.0.13,连接低版本mysql配置上比较繁琐,建议在配置文件中手动指定相应版本,如本文中指定这个版本。

repository、entity的所在位置,要和实际保存的位置一致。

主数据源的一些配置需要添加作为spring默认的首选项,其他数据源无需添加该注解。

通过查看相关源码我们看到Spring Boot中的代码一直在调整,这里我们将properties相关代码单独提取出作为一个单独的方法展示版本间的区别。其中:

查询

完成了所有的配置,接下来我们就可以开始写个简单代码验证我们配置了

我们对外暴露了两个接口,分别访问、确认可以正常获取数据。查询结果如下:

就此,我们双数据源的配置和验证工作就完成了。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181112G1DHN600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券