前言
随着业务量发展,我们通常会进行数据库拆分或是引入其他数据库,从而我们需要配置多个数据源,如: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相关代码单独提取出作为一个单独的方法展示版本间的区别。其中:
查询
完成了所有的配置,接下来我们就可以开始写个简单代码验证我们配置了
我们对外暴露了两个接口,分别访问、确认可以正常获取数据。查询结果如下:
就此,我们双数据源的配置和验证工作就完成了。
领取专属 10元无门槛券
私享最新 技术干货