我想从给定的架构名称中检索所有表,但是getTables方法不接受任何参数(模式等),它从整个数据库返回所有表。
我尝试使用getTables,但无法正常使用。
private void countTables() throws IllegalAccessException, SQLException, InstantiationException, ClassNotFoundException, IOException {
Set tables = getTables();
for (Iterator iterator = tables.iterator(); iterator.hasNext();) {
String tableName = (String) iterator.next();
int rowCount = getRowCount(tableName);
getWriter().write(tableName + "=[" + rowCount + "]\r\n");
}
getWriter().flush();
getWriter().close();
}
我想从模式test1中检索所有表。现在,它显示了本地数据库中存在的所有架构的结果。
答案 0 :(得分:0)
您可以使用DatabaseMetaData
即
Connection con = db.getConnection();
DatabaseMetaData metaData = con.getMetaData();
String tableType[] = {"TABLE"};
ResultSet result = metaData.getTables(null,SCHEMA_NAME,null,tableType);
while(result.next())
{
String tableName = result.getString(3);
System.out.println(tableName)
}