我在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:postgresql
或jdbc:oracle
。
还有其他我可以使用的标准方式吗?