springboot+mybatisplus多数据源配置和使用

2021-11-17  本文已影响0人  sickle4j

今天发现一种特别简单的多数据源的配置,主要是基于mybatis-plus的,省去传统的复杂配置

1.首先引入pom

<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
  <version>${version}</version>
</dependency>

2.配置数据源

spring:
  datasource:
    dynamic:
      primary: master #设置默认的数据源或者数据源组,默认值即为master
      strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
      datasource:
        master:
          url: jdbc:mysql://xx.xx.xx.xx:3306/dynamic
          username: root
          password: 123456
          driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置
        slave:
          url: jdbc:mysql://xx.xx.xx.xx:3307/dynamic
          username: root
          password: 123456
          driver-class-name: com.mysql.jdbc.Driver
        slave_2:
          url: ENC(xxxxx) # 内置加密,使用请查看详细文档
          username: ENC(xxxxx)
          password: ENC(xxxxx)
          driver-class-name: com.mysql.jdbc.Driver   
       #以上会配置一个默认库master,一个组slave下有两个子库slave_1,slave_2

集成druid

spring:
  datasource:
    druid:
      min-idle: 10
      max-wait: 60000
      max-active: 100
      initial-size: 10
      pool-prepared-statements: true
      max-pool-prepared-statement-per-connection-size: 20
      time-between-eviction-runs-millis: 60000
      min-evictable-idle-time-millis: 300000
      test-on-borrow: false
      test-on-return: false
      test-while-idle: true
      stat-view-servlet:
        enabled: true
        url-pattern: /druid/*

代码中 DruidDataSourceCreator 可以对druid进行配置,直接写好配置就可以

3.在mapper的接口中使用注解


image.png

这个mapper中的所有接口都从第二个库slave中查,如果需要从slave_2中查询,只需要把@DS注解中的slave改为slave_2即可。

官方文档: https://www.kancloud.cn/tracy5546/dynamic-datasource/2264611

上一篇下一篇

猜你喜欢

热点阅读