在Spring Boot中创建多个数据库连接可以通过配置多个DataSource bean来实现。下面是一个示例:
首先,在application.properties文件中配置多个数据库连接信息:
# 第一个数据库连接
spring.datasource.url=jdbc:mysql://localhost:3306/db1
spring.datasource.username=user1
spring.datasource.password=pass1
# 第二个数据库连接
spring.datasource.datasource2.url=jdbc:mysql://localhost:3306/db2
spring.datasource.datasource2.username=user2
spring.datasource.datasource2.password=pass2
然后,创建两个DataSource bean,在@Configuration类中添加以下代码:
@Configuration
public class DataSourceConfig {
@Primary
@Bean(name = "dataSource1")
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource1() {
return DataSourceBuilder.create().build();
}
@Bean(name = "dataSource2")
@ConfigurationProperties(prefix = "spring.datasource.datasource2")
public DataSource dataSource2() {
return DataSourceBuilder.create().build();
}
}
在上面的代码中,@Primary注解标记了第一个DataSource bean为主要的,这样在使用@Autowired注解注入DataSource时,会注入第一个DataSource bean。
然后,在需要使用数据库连接的地方,可以使用@Autowired注解注入相应的DataSource bean。例如,以下是一个简单的示例:
@Service
public class MyService {
@Autowired
@Qualifier("dataSource1") //指定注入dataSource1
private DataSource dataSource1;
@Autowired
@Qualifier("dataSource2") //指定注入dataSource2
private DataSource dataSource2;
// 使用dataSource1进行数据库操作
public void doSomethingWithDataSource1() {
// ...
}
// 使用dataSource2进行数据库操作
public void doSomethingWithDataSource2() {
// ...
}
}
在上面的示例中,使用@Autowired注解注入了两个不同的DataSource bean,并可以分别使用它们进行数据库操作。
这样就可以通过Spring Boot创建多个数据库连接了。
上一篇:按未确定的值选择计数