springboot多种数据源配置使用

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 可以注解在方法上或类上

 

 

 

上一篇:Spring中事务源码解读


下一篇:NOIP2015 提高组 Day T3 斗地主