以Springboot为例,如何连接多个数据库(源)
在Spring Boot中连接多个数据库,可以通过配置多个数据源来实现。可以在配置文件中定义多个数据源的配置,每个数据源有一个唯一的名称和对应的数据源属性。然后,通过在需要访问特定数据源的地方,使用对应的数据源名称来访问该数据源。
具体步骤如下
1、在配置文件中,定义多个数据源的配置,每个数据源都有一个唯一的名称和对应的数据源属性,如下所示:
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.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.jdbc.Driver
2、在代码中,使用@Configuration注解定义多个数据源的DataSource对象,并使用@Qualifier注解指定数据源的名称,如下所示:
@Configuration public class DataSourceConfig { @Primary @Bean(name = "primaryDataSource") @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(); } }
3、在代码中,使用@Qualifier注解指定要使用的数据源的名称,如下所示:
@Service public class UserServiceImpl implements UserService { @Autowired @Qualifier("primaryDataSource") private DataSource primaryDataSource; @Autowired @Qualifier("secondaryDataSource") private DataSource secondaryDataSource; //... }
以上就是连接多个数据库的详细步骤,使用的时候只需要使用不同数据源就可以。