本文介绍了如何从数据库中获取所有表名?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想从数据库模式中检索所有表名,并且如果可能的话,获取以指定前缀开头的所有表.
I'd like to retrieve all table names from a database schema, and, if possible, get all table starting with a specified prefix.
我尝试使用 JDBC 的 connection.getMetaData().getTables()
但它根本不起作用.
I tried using JDBC's connection.getMetaData().getTables()
but it didn't work at all.
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));
}
有人可以帮助我吗?
推荐答案
您需要迭代调用 next()
的 ResultSet.
You need to iterate over your ResultSet calling next()
.
这是来自 java2s.com 的示例:
DatabaseMetaData md = conn.getMetaData();
ResultSet rs = md.getTables(null, null, "%", null);
while (rs.next()) {
System.out.println(rs.getString(3));
}
列 3 是 TABLE_NAME
(请参阅 DatabaseMetaData::getTables
).
Column 3 is the TABLE_NAME
(see documentation of DatabaseMetaData::getTables
).
这篇关于如何从数据库中获取所有表名?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!