springboot

springboot如何配置多数据源

小亿
130
2024-04-08 14:23:40
栏目: 编程语言

在Spring Boot中配置多数据源可以通过创建多个DataSource bean,并使用@Primary和@Qualifier注解来指定默认数据源和其他数据源,然后在Repository类中使用@Qualifier注解来指定要使用的数据源。

以下是一个示例配置多数据源的步骤:

  1. 在application.properties或application.yml文件中配置多个数据源的连接信息,例如:
# 数据源1
spring.datasource.url1=jdbc:mysql://localhost:3306/db1
spring.datasource.username1=root
spring.datasource.password1=123456

# 数据源2
spring.datasource.url2=jdbc:mysql://localhost:3306/db2
spring.datasource.username2=root
spring.datasource.password2=123456
  1. 创建多个DataSource配置类,每个配置类对应一个数据源,如DataSource1Config和DataSource2Config,配置数据源连接信息和DataSource bean的创建:
@Configuration
public class DataSource1Config {

    @Bean
    @ConfigurationProperties(prefix = "spring.datasource")
    @Primary
    public DataSource dataSource1() {
        return DataSourceBuilder.create().build();
    }
}

@Configuration
public class DataSource2Config {

    @Bean
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource dataSource2() {
        return DataSourceBuilder.create().build();
    }
}
  1. 在Repository类中使用@Qualifier注解指定要使用的数据源,例如:
@Repository
public class UserRepository {

    @Autowired
    @Qualifier("dataSource1")
    private DataSource dataSource1;

    @Autowired
    @Qualifier("dataSource2")
    private DataSource dataSource2;

    // 使用dataSource1查询用户信息
}

@Repository
public class OrderRepository {

    @Autowired
    @Qualifier("dataSource2")
    private DataSource dataSource2;

    // 使用dataSource2查询订单信息
}

通过以上步骤,就可以在Spring Boot中配置多个数据源并在Repository类中使用不同的数据源进行操作。

0
看了该问题的人还看了