场景:
假设有一个项目,产品数据存放在new数据库中,公告信息存放在mini数据库中,我们要怎么去查询两个数据库中不同的数据呢?
这个时候我们就要用到mybatisplus提供的多数据源,仅需要如下配置即可实现相关功能。
一、引入依赖
引入多数据源需要的依赖:
<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.26</version>
        </dependency>
        <!--mybatis plus场景-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.3.1</version>
        </dependency>
        <!--多数据源-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
            <version>3.3.2</version>
        </dependency>二、配置application.yml文件
配置两个数据源:
spring:
  datasource:
    dynamic:
      datasource:
        mini-ds:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://localhost:3306/mini
          username: root
          password: 123456
        new-ds:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://localhost:3306/new
          username: root
          password: 123456
      primary: mini-ds注意:其中primary代表主数据源,如果没有配置相应注解则会默认读取这个数据源
三、使用
在Controller中使用@DS注解:
//    获取首页公告列表
    @GetMapping("/getnoticelist")
    public Result getNoticeList(){
        Result noticeList = homeService.getNoticeList();
        return noticeList;
    }
//    获取首页推荐产品列表(6款)
    @GetMapping("/getproductlist")
    @DS("new-ds")
    public Result getProductList(){
        Result productList = homeService.getProductList();
        return productList;
    }解释:获取公告列表则使用默认的mini-ds数据源,而获取产品列表则使用了new-ds数据源
四、测试


 
                            