星期三, 8月 4, 2021
Home 编程艺术 Spring Cloud Spring Boot 多数据源配置

Spring Boot 多数据源配置

前言

在微服务体系搭建中,难免会有需要使用多个数据源的情况。今天米饭屋就给大家介绍一下在Spring Boot 1.xx环境中(2.xx环境中有些区别,后续再介绍)如何配置多个数据源。
因为篇幅的原因(其实就是懒,哈哈),本文使用MySQL和MsSQL两种数据源来示例,其他种类的数据源大家举一反三就行了。

pom.xml 配置

核心配置有三个:jpa,mysql,mssql。

application.yml 配置

Spring Boot 配置

连接属性配置

mysql数据源配置

mssql数据源配置

自定义方言配置(这一步是可选的)

至此,多数据源的配置已经完成。如果还有其他的数据源配置,可以参数上面的示例自行添加。关于自定义方言的配置,不是必须的,这个是在某些时候数据库里的字段定义了一些不常见的类型,jpa提示“No Dialect mapping for JDBC type: -9”这样的错误时,可以自己注入对这些类型的映射关系。
EnableJpaRepositories中的basePackages,这里如果在工程目录中有多个包需要包含,可以直接添加多个路径。如:basePackages = {“com.example.mulitdatasource.repositories.mssql”,”com.example.mulitdatasource.repositories.mssql1″,…},这样。同理LocalContainerEntityManagerFactoryBean中的packages也是相同的操作。
配置完成后,接下来向大家介绍一下如何使用。

实体类

用户实体

这里我将用户实体配置在MySQL中

角色实体

这里我将角色实体配置在MsSQL中

数据库操作接口

用户操作接口

角色操作接口

复杂操作接口

我创建了一个用于复杂查询操作的接口。
某些时候原生JpaRepository操作还是过于简单,在实现join,复杂分页之类的操作,虽然能实现,但我个人还是更喜欢直接面向存储过程

使用示例

写在最后

现在我已经为大家展示了Spring Boot中关于多数据源的配置以及使用示例,并附带了spring boot中存储过程调用的一种方法。因为篇幅和精力的问题,这里我并不是针对新手的一步一步教程及原理解析,本文的目的主两有两个,一个是方便我自己记录一下思路,另一个是在配置的过程中为大家介绍一些关键点。如果大家确实觉得有必要将细节一步一步解释清除,可以给我留言讨论。

RELATED ARTICLES

Centos7 编译安装 Microsoft/cpprestsdk

项目中要用到http库,研究了下最终选择了微软的cpprestsdk。Linux平台官方只提供了Ubuntu的安装教程,项目的环境都是Centos7,所以记录一下编译过程。 1、初始化环境 安装编译工具 安装依赖库

MongoDB分片集群搭建全过程

MongoDB 支持通过分片技术从而进行水平扩展,用以支撑海量数据集和高吞吐量的操作。

MySQL配置主从复制

MySQL 的复制有很多种,主从复制,主主复制,一主多从复制等。

LEAVE A REPLY

Please enter your comment!
Please enter your name here

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

- Advertisment -

Most Popular

Centos7 编译安装 Microsoft/cpprestsdk

项目中要用到http库,研究了下最终选择了微软的cpprestsdk。Linux平台官方只提供了Ubuntu的安装教程,项目的环境都是Centos7,所以记录一下编译过程。 1、初始化环境 安装编译工具 安装依赖库

MongoDB分片集群搭建全过程

MongoDB 支持通过分片技术从而进行水平扩展,用以支撑海量数据集和高吞吐量的操作。

MySQL配置主从复制

MySQL 的复制有很多种,主从复制,主主复制,一主多从复制等。

手把手教你搭建Kubernetes高可用集群-外部负载均衡器篇

前面我们已经介绍过Kubernetes的高可用实际上就是ApiServer和ETCD的高可用。而本文就是向大家介绍使用外部负载均衡器来搭建Kubernetes的高可用集群。

Recent Comments