【发布时间】:2020-12-19 18:20:37
【问题描述】:
我需要通过更改配置使代码能够交替使用不同的数据库。我有 Oracle SQL 和 Azure SQL Server。通过更改舵图(或配置),我想选择使用哪个数据库。我知道的事情是:
- 数据源在 helm chart 中配置。我有一个 yaml 文件,其中声明了数据库的驱动程序、url、用户名和密码。
env:
- name: datasource.project.driverClassName
value: 'oracle.jdbc.OracleDriver'
- name: datasource.project.url
value: 'url'
- name: datasource.project.username
value: 'username'
- name: datasource.project.password
value: 'password'
- 在我的项目中,我为数据库创建 bean:
@Configuration
@EnableConfigurationProperties
public class ProjectDataSourceConfig {
public static final String DB_TX_MANAGER = "";
@Bean
@Primary
@ConfigurationProperties("datasource.project")
public DataSourceProperties projectDataSourceProperties() {
return new DataSourceProperties();
}
@Bean
public DataSource projectDataSource() {
return projectDataSourceProperties().initializeDataSourceBuilder().type(ComboPooledDataSource.class).build();
}
@Bean
public NamedParameterJdbcTemplate projectJdbcTemplate() {
return new NamedParameterJdbcTemplate(projectDataSource());
}
@Bean(name = DB_TX_MANAGER)
public DataSourceTransactionManager projectDbtransactionManager() {
return new DataSourceTransactionManager(projectDataSource());
}
}
我的目标是:通过修改配置文件找到一种加载 Oracle SQL 或 Azure SQL Server 的方法。我不确定仅更改 driverClassName、url、用户名和密码是否足够。
【问题讨论】:
标签: database oracle spring-boot azure-sql-database kubernetes-helm