在Spring Boot的运行时识别数据库的方法

时间:2019-05-01 17:40:11

标签: spring-boot

我在Spring Boot中从事一个项目,在该项目中我们支持postgres数据库。 将来我们也计划支持oracle数据库(目前尚不支持)。

我遇到需要获取有关数据库表的元数据的情况。现在,我使用如下查询,

select table_name, column_name from INFORMATION_SCHEMA.COLUMNS where table_name in ('SomeTable1','SomeTable2') ;

但是我在某处读到它是 postgresql特有的

USER_TAB_COLS INFORMATION_SCHEMA.COLUMNS 的Oracle等效项。

现在,如果我打算将来编写一些支持两个数据库的代码,则需要在运行时检查 USER_TAB_COLS INFORMATION_SCHEMA.COLUMNS 之一查询到?

spring boot中是否有一种方法可以在运行时将我的数据源配置为哪个数据库?

我可以想到的一种方法是,如果我读取application.properties文件并读取属性spring.datasource.url并分析该字符串以检查其是否具有jdbc:postgresqljdbc:oracle

还有其他我可以使用的标准方式吗?

0 个答案:

没有答案