oracle使用多数据库配置。spring boot项目
在Spring Boot项目中使用Oracle多数据库配置可以通过以下步骤实现:
- 添加Oracle数据库驱动依赖
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>19.3.0.0</version>
</dependency>
- 配置数据源
在application.properties中添加数据源配置信息,如下所示:
# 数据源1
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:orcl1
spring.datasource.username=yourusername
spring.datasource.password=yourpassword
# 数据源2
spring.datasource.second.url=jdbc:oracle:thin:@localhost:1521:orcl2
spring.datasource.second.username=yourusername
spring.datasource.second.password=yourpassword
- 配置数据源Bean
在Spring Boot中,可以直接通过@ConfigurationProperties注解将配置文件中的属性与Java Bean进行绑定,因此我们可以创建两个数据源的配置类:
@Configuration
@ConfigurationProperties(prefix = "spring.datasource")
public class DataSource1Config {
private String url;
private String username;
private String password;
//...
@Bean(name = "dataSource1")
public DataSource dataSource() {
return DataSourceBuilder.create()
.driverClassName("oracle.jdbc.OracleDriver")
.url(url)
.username(username)
.password(password)
.build();
}
}
@Configuration
@ConfigurationProperties(prefix = "spring.datasource.second")
public class DataSource2Config {
private String url;
private String username;
private String password;
//...
@Bean(name = "dataSource2")
public DataSource dataSource() {
return DataSourceBuilder.create()
.driverClassName("oracle.jdbc.OracleDriver")
.url(url)
.username(username)
.password(password)
.build();
}
}
- 配置JdbcTemplate
最后,我们可以通过注入数据源Bean来创建对应的JdbcTemplate,以便在代码中访问数据库:
@Configuration
public class JdbcTemplateConfig {
@Autowired
@Qualifier("dataSource1")
private DataSource dataSource1;
@Autowired
@Qualifier("dataSource2")
private DataSource dataSource2;
@Bean(name = "jdbcTemplate1")
public JdbcTemplate jdbcTemplate() {
return new JdbcTemplate(dataSource1);
}
@Bean(name = "jdbcTemplate2")
public JdbcTemplate jdbcTemplate2() {
return new JdbcTemplate(dataSource2);
}
}
现在,我们就可以在代码中通过@Qualifier注解来指定要使用的数据源了:
@Autowired
@Qualifier("jdbcTemplate1")
private JdbcTemplate jdbcTemplate1;
@Autowired
@Qualifier("jdbcTemplate2")
private JdbcTemplate jdbcTemplate2;
``
原文地址: https://www.cveoy.top/t/topic/gpzM 著作权归作者所有。请勿转载和采集!