本次案例涉及到的代码比较多,因此文章只贴出部分,全部案例代码已经上传到Gitee,需要者可直接访问:【实战-SpringBoot结合MyBatis-Plus整合多数据源】,mybatis-plus多数据源支持:
1.涉及的依赖包
- spring-boot-starter-web – web相关支持
- mybatis-plus-boot-starter-- springboot整合mybatis-plus依赖
- dynamic-datasource-spring-boot-starter – mybatis-plus管理数据源依赖
- mysql-connector-java – mysql数据驱动
- lombok – 自动生成实体类常用方法依赖包
- hutool-all – 常用方法封装依赖包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.4.5</version>
</dependency>
相关配置
# 启动端口
server:
port: 9091
# 项目名称
spring:
application:
name: multi-datasource-instance2
datasource:
# 采用动态选取
dynamic:
primary: master #设置默认的数据源或者数据源组,默认值即为master
strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
datasource:
# 主数据库
master:
url: jdbc:mysql://localhost:3306/test1?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
# 副数据库
slave:
slave:
url: jdbc:postgresql://localhost:5432/yun_pai_db?currentSchema=aas&ssl=false
username: postgres
password: postgres
driver-class-name: org.postgresql.Driver