Springboot项目 jdbctemplate配置多数据源
时间: 2024-04-04 09:34:54 浏览: 135
在Spring Boot项目中配置多数据源,可以使用Spring Boot提供的多数据源支持。以下是一个简单的示例:
首先在application.properties中配置数据源的相关信息:
```
# 数据源1
spring.datasource.url=jdbc:mysql://localhost/test1
spring.datasource.username=root
spring.datasource.password=password1
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# 数据源2
spring.datasource.secondary.url=jdbc:mysql://localhost/test2
spring.datasource.secondary.username=root
spring.datasource.secondary.password=password2
spring.datasource.secondary.driver-class-name=com.mysql.jdbc.Driver
```
然后定义两个数据源的配置类:
```java
@Configuration
@Primary
@ConfigurationProperties("spring.datasource")
public class DataSource1Config extends HikariDataSource {
}
@Configuration
@ConfigurationProperties("spring.datasource.secondary")
public class DataSource2Config extends HikariDataSource {
}
```
在这个示例中,我们使用了HikariCP作为连接池,分别定义了两个数据源的配置类。其中,@Primary注解表示默认使用第一个数据源。
接下来,定义两个JdbcTemplate的实例:
```java
@Bean(name = "jdbcTemplate1")
public JdbcTemplate jdbcTemplate1(@Qualifier("dataSource1") DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
@Bean(name = "jdbcTemplate2")
public JdbcTemplate jdbcTemplate2(@Qualifier("dataSource2") DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
```
在这个示例中,我们使用了@Qualifier注解来指定要使用的数据源。
最后,在需要访问不同数据源的地方注入相应的JdbcTemplate即可,例如:
```java
@Autowired
@Qualifier("jdbcTemplate1")
private JdbcTemplate jdbcTemplate1;
@Autowired
@Qualifier("jdbcTemplate2")
private JdbcTemplate jdbcTemplate2;
```
在实际使用中,我们可以根据需要自由切换数据源,以访问不同的数据库。
阅读全文