getTables方法不接受架构参数,并从所有架构返回表

时间:2019-04-16 09:49:35

标签: java sql

我想从给定的架构名称中检索所有表,但是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中检索所有表。现在,它显示了本地数据库中存在的所有架构的结果。

1 个答案:

答案 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)
}