软件编程
位置:首页>> 软件编程>> java编程>> MyBatis-Plus实现多数据源的示例代码

MyBatis-Plus实现多数据源的示例代码

作者:youcongtech  发布时间:2023-11-11 12:58:11 

标签:MyBatis,Plus,多数据源

多数据源的目的在于一个代码模块可调用多个数据库的数据进行某些业务操作。

MyBatis-Plus开发者写了一个多数据源叫dynamic-datasource-spring-boot-starter ,非常简单易用。

dynamic-datasource-spring-boot-starter文档

官方文档部分截图:

MyBatis-Plus实现多数据源的示例代码

第三方集成的,基本上是目前比较主流的(用的比较多)。

一、添加Maven依赖


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

二、配置文件修改(application.yml)


spring:
datasource:
 dynamic:
  primary: db1 #设置默认的数据源,默认值为master
  datasource:
   db1: #数据源db1
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/wordpress_master?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
    username: root
    password: 123456
   db2: #数据源db2
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/wordpress_slave?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
    username: root
    password: 123456
  type: com.alibaba.druid.pool.DruidDataSource
  druid:
   initial-size: 10
   max-active: 100
   min-idle: 10
   max-wait: 60000
   pool-prepared-statements: true
   max-pool-prepared-statement-per-connection-size: 20
   time-between-eviction-runs-millis: 60000
   min-evictable-idle-time-millis: 300000
   #Oracle需要打开注释
   #validation-query: SELECT 1 FROM DUAL
   test-while-idle: true
   test-on-borrow: false
   test-on-return: false
   stat-view-servlet:
    enabled: true
    url-pattern: /druid/*
    #login-username: admin
    #login-password: admin
   filter:
    stat:
     log-slow-sql: true
     slow-sql-millis: 1000
     merge-sql: false
    wall:
     config:
      multi-statement-allow: true

三、完成成1、2步后,启动应用

如果控制台不报错且出现如下图所示,就表示成功整合:

MyBatis-Plus实现多数据源的示例代码

四、注意事项

启动主类需要排除Druid相关依赖,否则会出现如下错误:

***************************
APPLICATION FAILED TO START
***************************

Description:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class

解决办法,加上如下代码即可:


@SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class)

来源:https://segmentfault.com/a/1190000038171792

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com