【问题标题】:How to configure databases in springboot interchangeably如何在spring boot中互换配置数据库
【发布时间】:2020-12-19 18:20:37
【问题描述】:

我需要通过更改配置使代码能够交替使用不同的数据库。我有 Oracle SQL 和 Azure SQL Server。通过更改舵图(或配置),我想选择使用哪个数据库。我知道的事情是:

  1. 数据源在 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'
  1. 在我的项目中,我为数据库创建 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


    【解决方案1】:

    我发现这很容易。由于我不使用 Hibernate,我只需将驱动程序、url、用户名和密码更改为 Azure SQL 即可。

    【讨论】:

      猜你喜欢
      • 2020-10-04
      • 2017-08-10
      • 2019-02-03
      • 2015-03-21
      • 2018-12-30
      • 2019-02-07
      • 2021-10-03
      • 2017-02-13
      • 2015-07-24
      相关资源
      最近更新 更多