java两个系统数据库连接_Spring boot配置双数据源实现一个java项目同时连接两个数据库的方法
时间: 2024-03-26 14:40:19 浏览: 146
Spring MVC配置双数据源实现一个java项目同时连接两个数据库的方法
在Spring Boot中,要实现连接多个数据库,可以使用Spring Boot提供的多数据源配置功能。下面是实现的步骤:
1. 在application.properties文件中配置两个数据源,如下所示:
```properties
# 配置数据源1
spring.datasource.db1.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.db1.url=jdbc:mysql://localhost:3306/db1
spring.datasource.db1.username=root
spring.datasource.db1.password=root
# 配置数据源2
spring.datasource.db2.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.db2.url=jdbc:mysql://localhost:3306/db2
spring.datasource.db2.username=root
spring.datasource.db2.password=root
```
2. 在代码中定义两个数据源,如下所示:
```java
@Configuration
public class DataSourceConfig {
@Bean(name = "db1")
@ConfigurationProperties(prefix = "spring.datasource.db1")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "db2")
@ConfigurationProperties(prefix = "spring.datasource.db2")
public DataSource secondaryDataSource() {
return DataSourceBuilder.create().build();
}
}
```
3. 在代码中使用@Primary和@Qualifier注解指定使用哪个数据源,如下所示:
```java
@Autowired
@Qualifier("db1")
private DataSource dataSource1;
@Autowired
@Qualifier("db2")
private DataSource dataSource2;
@Autowired
@Primary
@Bean(name = "jdbcTemplate1")
public JdbcTemplate primaryJdbcTemplate() {
return new JdbcTemplate(dataSource1);
}
@Bean(name = "jdbcTemplate2")
public JdbcTemplate secondaryJdbcTemplate() {
return new JdbcTemplate(dataSource2);
}
```
4. 在代码中使用jdbcTemplate1和jdbcTemplate2访问两个数据源,如下所示:
```java
String sql1 = "SELECT * FROM table1";
List<Map<String, Object>> result1 = jdbcTemplate1.queryForList(sql1);
String sql2 = "SELECT * FROM table2";
List<Map<String, Object>> result2 = jdbcTemplate2.queryForList(sql2);
```
以上就是使用Spring Boot配置双数据源实现一个Java项目同时连接两个数据库的方法。
阅读全文