Java中数据库表的有序输出

时间:2018-11-01 20:14:04

标签: java string

我需要推断一个数据库。也就是说,应该显示表名,然后显示表本身以及列名。我做到了,但是结论不是很美。您能告诉我如何使结论更准确吗(列名下的列内容是什么) 这是显示有关数据库信息的代码。

try(Connection conn = getDbConnection("","",dbName)) {

        Statement statm = conn.createStatement();
        DatabaseMetaData md = conn.getMetaData();
        ResultSet resultSet = md.getTables(dbName, null, "%", null);
        ResultSetMetaData rsmd = resultSet.getMetaData();

        ArrayList<String> listTableName = new ArrayList<>();

        while (resultSet.next()) {
            listTableName.add(resultSet.getString(3));
        }
        for(String str : listTableName) {
            System.out.println(str);
            resultSet = statm.executeQuery("select * from " + str);
            rsmd = resultSet.getMetaData();
            int columnCount = rsmd.getColumnCount();
            System.out.println(columnCount);

            for(int i = 1; i <= columnCount;i++)
                System.out.print(rsmd.getColumnName(i) + " ");
            System.out.println();
            String request = "SELECT * FROM " + str;
            resultSet = statm.executeQuery(request);
            showResultSet(resultSet);
        }

    } catch (ClassNotFoundException e) {
        System.out.println("Error: " + e.getMessage());
    }

出: 公司 ID_comp名称 1个Don_avia
2 Aeroflot
3 Dale_avia
4 air_France
5 British_AW

0 个答案:

没有答案