用于检查给定用户,架构,表是否存在的Java代码?

swe*_*ams 3 java jdbc oracle11g

我想制作Java代码(也使用Oracle 11g和JDBC),它将检查特定用户或架构是否存在.如何通过仅使用Java代码而不是通过执行SQL查询(在我的java代码中)来进行检查?

谢谢.

编辑 -

方法1:

在MySQL中,我们可以使用这样的东西 -

Connection conn = DriverManager.getConnection(url,username,password);
DatabaseMetaData DMD = conn.getMetaData();
ResultSet res = DMD.getCatalogs();
 while (res.next()) {
      String database = res.getString("TABLE_CAT");
}
Run Code Online (Sandbox Code Playgroud)

现在在if内部放一个if来检查它是否存在DB.

方法2:

或者,您可以执行本文中提到的一些查询. 使用SQL查询来确定表是否存在

我想使用类似方法1的方法来完成工作而不是方法2 - 这就是我的意思.

Jus*_*ave 5

查询数据库有关此类事情的纯JDBC方法是在Java应用程序中使用DatabaseMetaData类. DatabaseMetaData.getSchemas将为您提供数据库中的模式集. DatabaseMetaData.getTables将为您提供表的列表.您可以编写迭代这些ResultSet对象的代码,以查看是否存在特定的表或模式.

当然,在幕后,JDBC驱动程序只是对Oracle数据字典执行SQL查询以获取此信息.