SpringBoot整合Mybatis-Plus、Druid配置多数据源

作者:da吃一鲸8862024.01.17 15:47浏览量:19

简介:本文将介绍如何在SpringBoot项目中整合Mybatis-Plus和Druid,并配置多数据源。我们将分步骤介绍如何设置数据源、配置Mybatis-Plus和Druid,以及如何在应用中进行切换数据源。

SpringBoot作为快速构建企业级应用的框架,常常与各种技术栈进行整合。其中,Mybatis-Plus是Mybatis的增强工具,提供了更加便捷的CRUD操作,而Druid则是一个高性能的数据库连接池。在复杂的应用中,我们可能需要配置多个数据源以满足不同的业务需求。
以下是在SpringBoot项目中整合Mybatis-Plus、Druid并配置多数据源的步骤:

  1. 添加依赖
    pom.xml中添加以下依赖:
    1. <!-- Mybatis-Plus相关依赖 -->
    2. <dependency>
    3. <groupId>com.baomidou</groupId>
    4. <artifactId>mybatis-plus-boot-starter</artifactId>
    5. <version>3.4.0</version>
    6. </dependency>
    7. <!-- Druid相关依赖 -->
    8. <dependency>
    9. <groupId>com.alibaba</groupId>
    10. <artifactId>druid-spring-boot-starter</artifactId>
    11. <version>1.1.10</version>
    12. </dependency>
  2. 配置数据源
    application.yml中配置多个数据源,例如:
    1. spring:
    2. datasource:
    3. primary:
    4. url: jdbc:mysql://localhost:3306/primarydb?useSSL=false
    5. username: root
    6. password: password
    7. driver-class-name: com.mysql.cj.jdbc.Driver
    8. secondary:
    9. url: jdbc:mysql://localhost:3306/secondarydb?useSSL=false
    10. username: root
    11. password: password
    12. driver-class-name: com.mysql.cj.jdbc.Driver
  3. 创建数据源配置类
    创建两个数据源的配置类,例如:PrimaryDataSourceConfigSecondaryDataSourceConfig。在配置类中分别注入对应的DataSourceorg.apache.ibatis.session.SqlSessionFactory
  4. 创建多数据源切换配置类
    创建一个多数据源切换的配置类,例如:DynamicDataSource。在该类中定义一个数据源属性,并根据属性值切换不同的数据源。同时,为该类创建一个自动装配的Bean。
  5. 创建数据源切换注解
    创建一个自定义注解,例如:@UseDataSource,用于标注在方法或类上指定使用哪个数据源。在该注解中指定数据源的名称。
  6. 创建Mybatis-Plus配置类
    创建一个Mybatis-Plus的配置类,例如:MybatisPlusConfig。在该类中注入DynamicDataSource,并根据数据源切换配置类中的属性值切换数据源。同时,为该类创建一个自动装配的Bean。
  7. 创建Mapper接口和Mapper XML文件
    创建Mapper接口和对应的Mapper XML文件,用于定义SQL语句和映射关系。在Mapper接口上使用@Mapper注解进行标注。在XML文件中编写SQL语句,并使用@Select@Update等注解标注SQL语句的ID和参数类型。
  8. 在Service或Controller中调用Mapper方法时使用@UseDataSource注解指定数据源即可完成多数据源的切换。