1.引入对应的maven依赖

<dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
   <version>3.5.1</version>
</dependency>
<dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>mybatis-plus-boot-starter</artifactId>
   <version>3.4.2</version>
</dependency>

2.配置application.yml文件

spring:
  datasource:
    dynamic:
      #设置默认的数据源或者数据源组,默认值即为master
      primary: master
      #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
      strict: false
      datasource:
        master:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://192.168.1.100:3306/shop?useUnicode=true&characterEncoding=utf-8&useSSL=false
          username: root
          password: 111111
          type: com.alibaba.druid.pool.DruidDataSource
        db_1:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://192.168.1.101:3306/user?useUnicode=true&characterEncoding=utf-8&useSSL=false
          username: root
          password: 111111
          type: com.alibaba.druid.pool.DruidDataSource

3.指定数据源进行数据库DML或DQL操作

//如果不指定数据源会使用默认的数据源,可以加在方法上也可以加在类上
@DS("db_1")
public interface RateMapper extends BaseMapper<Rate> {}

//多数据源的事务操作
@GetMapping("/save")
@DSTransactional
public void save(){
   数据源master的insert操作
   数据源db_1的insert操作
}
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐