springboot如何管理多数据源?

发布于:2025-05-01 ⋅ 阅读:(54) ⋅ 点赞:(0)

静态多数据源管理

  1. 配置多个数据源 :创建多个数据源的配置类,通常使用 @ConfigurationProperties 注解来绑定配置文件中的数据源属性,并通过 @Bean 注解定义多个 DataSource Bean 。例如:

    • 配置类:

      @Configuration
      public class DataSourceConfig {
          @Bean(name = "primaryDataSource")
          @Primary
          @ConfigurationProperties(prefix = "spring.datasource.primary")
          public DataSource primaryDataSource() {
              return DataSourceBuilder.create().build();
          }
          @Bean(name = "secondaryDataSource")
          @ConfigurationProperties(prefix = "spring.datasource.secondary")
          public DataSource secondaryDataSource() {
              return DataSourceBuilder.create().build();
          }
      }

      配置文件:

      spring.datasource.primary.url=jdbc:mysql://localhost:3306/db1
      spring.datasource.primary.username=root
      spring.datasource.primary.password=123456
      spring.datasource.primary.driver-class-name=com.mysql.cj.jdbc.Driver
      spring.datasource.secondary.url=jdbc:mysql://localhost:3306/db2
      spring.datasource.secondary.username=root
      spring.datasource.secondary.password=123456
      spring.datasource.secondary.driver-class-name=com.mysql.cj.jdbc.Driver

      配置 MyBatis 的 SqlSessionFactory 和事务管理器 :为每个数据源配置独立的 SqlSessionFactoryDataSourceTransactionManager 。例如:

    • 主数据源配置类:

      @Configuration
      @MapperScan(basePackages = "com.example.mapper.primary", sqlSessionFactoryRef = "primarySqlSessionFactory")
      publ

网站公告

今日签到

点亮在社区的每一天
去签到