[Mybatis] Mybaits プラグインを使用して複数のデータ ソースを構成する (dynamicDatasource)

複数のデータソースの一般的な使用シナリオ

  1. 複雑なビジネス (大量のデータ): ビジネスが複雑な場合は分割する必要があり、付随するデータベースも分割されるため、複数のデータベースが関係します。
  2. 読み取りと書き込みの分離: 静かなデータベース読み取りパフォーマンスの問題を解決するために (どちらも書き込みパフォーマンスよりも高いため、書き込みロックは読み取りブロックに影響し、読み取りパフォーマンスに影響します)

使用法

  1. 依存関係をインポートする
 <dependency>
     <groupId>com.baomidou</groupId>
     <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
     <!--我用的version是3.4.0,请根据自己项目的其他依赖版本选出合适的version-->
     <version>${dynamic-datasource-spring-boot-starter-version}</version> 
 </dependency>
  1. 構成ファイルに複数のデータベースをインポートする
spring:
  datasource:
    dynamic:
      # 默认数据源
      primary: datasource1
      datasource:
        datasource1:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://localhost:3306/datasource1?serverTimezone=Asia/Shanghai
          username: root
          password: xxx
          druid-type: com.alibaba.druid.pool.DruidDataSource
        datasource2:
          type: com.alibaba.druid.pool.DruidDataSource
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://localhost:3306/datasoutce2?serverTimezone=Asia/Shanghai
          username: root
          password: xxx
          dynamic-type: com.baomidou.dynamic.datasource.spring.boot.autoconfigure.druid.DruidDataSource

2 つのデータベースの型の内容を同じにすることはできません。同じにしないと、エラーが報告されます
。 3. マッパー ファイルに注釈を追加します。

@DS("datasource2")
@Mapper
public interface XxxMapper{
    
    
}

ここでのDSアノテーションの値は操作対象のデータベースです。例えば、datasource2にXxxMapperがある場合はdatasource2と記入します。
上記の設定ファイルにはデフォルトのデータベースを追加しています。つまり、現在のMapperがデフォルトのデータベースなので追加する必要はありません。これには注釈が付けられています

これにより、複数のデータ ソースを簡単に構成できます。

おすすめ

転載: blog.csdn.net/qq_67548292/article/details/131904437