springboot多数据源配置
可同时配置多个多种数据源(例如:mysql,sqlserver,oracle)
官方文档地址
:https://gitee.com/baomidou/dynamic-datasource-spring-boot-starter
入门demo地址:https://gitee.com/li-yanning/springboot-multiple-data.git
01 引入坐标
<!--是一个基于springboot的快速集成多数据源的启动器(本篇重点)-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
02 配置文件
server:
port: 8100
spring:
datasource:
dynamic:
#设置默认的数据源或者数据源组,默认值即为master
primary: master
#严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
strict: false
datasource:
master:
url: jdbc:mysql://localhost:3306/ajava?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false&rewriteBatchedStatements=true
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
second:
url: jdbc:mysql://localhost:3306/heima_movies?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false&rewriteBatchedStatements=true
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
# sqlserver:
# url: jdbc:sqlserver://localhost:9092;DatabaseName=crm-gooling
# username: root
# password: root
# driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
mybatis-plus:
type-aliases-package: com.saiyou.entity
mapper-locations: classpath*:/mapper/**/*Mapper.xml
configuration:
map-underscore-to-camel-case: true
cache-enabled: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # sql输出到控制台,方便开发调试
global-config:
banner: false
db-config:
id-type: auto
insert-strategy: not_empty
update-strategy: not_empty
logic-delete-value: 1
logic-not-delete-value: 0
logic-delete-field: deleted
03 使用 @DS 切换数据源。
在service的实现类上加@Ds("second")注解
主数据源不用加@Ds注解
@DS 可以注解在方法上或类上