JDBC如何从数据库中打印所有表名?
下文笔者讲述java代码如何从数据库中打印所有表名的方法分享,如下所示
打印PostgreSQL数据库,数据库名等于postgres的所有数据表的示例分享
实现思路: 借助Connection对象的getMetaData()方法 即可输出所有的数据表名称例:
打印PostgreSQL数据库,数据库名等于postgres的所有数据表的示例分享
一、引入依赖 pom.xml <dependencies> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.2.5</version> </dependency> </dependencies> //打印数据表信息 package com.java265.jdbc; import java.sql.*; public class PrintAllTables { public static void main(String[] argv) { System.out.println("PostgreSQL JDBC Connection Testing ~"); try { Class.forName("org.postgresql.Driver"); } catch (ClassNotFoundException e) { System.err.println("Unable to find the PostgreSQL JDBC Driver!"); e.printStackTrace(); return; } // default database: postgres // JDK 7, auto close connection with try-with-resources try (Connection connection = DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/postgres", "postgres", "password")) { DatabaseMetaData metaData = connection.getMetaData(); try (ResultSet rs = metaData.getTables(null, null, "%", null)) { ResultSetMetaData rsMeta = rs.getMetaData(); int columnCount = rsMeta.getColumnCount(); while (rs.next()) { System.out.println("\n----------"); System.out.println(rs.getString("TABLE_NAME")); System.out.println("----------"); for (int i = 1; i <= columnCount; i++) { String columnName = rsMeta.getColumnName(i); System.out.format("%s:%s\n", columnName, rs.getString(i)); } } } } catch (SQLException e) { System.err.println("Something went wrong!"); e.printStackTrace(); return; } } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。