我想从数据库模式中检索所有表名,如果可能的话,获取所有以指定前缀开头的表。
我尝试使用 JDBC 的 connection.getMetaData().getTables()
但它根本不起作用。
Connection jdbcConnection = DriverManager.getConnection("", "", "");
DatabaseMetaData m = jdbcConnection.getMetaData();
ResultSet tables = m.getTables(jdbcConnection.getCatalog(), null, "TAB_%", null);
for (int i = 0; i < tables.getMetaData().getColumnCount(); i++) {
System.out.println("table = " + tables.getMetaData().getTableName(i));
}
有人可以帮我吗?
原文由 Maxime ARNSTAMM 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要迭代 ResultSet 调用
next()
。这是来自 java2s.com 的示例:
第 3 列是
TABLE_NAME
(参见DatabaseMetaData::getTables
的文档)。