如何使用Java获取特定模式的所有表及其列?

我有一个数据库模式,其名称为“Navid”,此模式中有许多表。 绝对是每个表,都有一些列。

我需要的是一个java类:

  1. 连接到我的数据库。
  2. 有一个循环所有表的方法

    2-1。 有一个内部循环来定义表的所有列。

  3. 创建表查询语句。(我想在另一个数据库中创建相同的表)。
  4. 执行该查询。

我写了一些代码,但我不知道接下来该做什么。

public class automateExport { static String value; public static void main(String[] args) throws SQLException, ClassNotFoundException { // ResultSet rs = null; String table_name; String column_name; String tableName = null; StringBuilder sb = new StringBuilder(1024); Connection DB2 = getConnection(); String sql = "SELECT TABSCHEMA,TABNAME,COLNAME FROM SYSCAT.COLUMNS WHERE TABSCHEMA NOT LIKE 'SYS%'"; PreparedStatement mainStmt = DB2.prepareStatement(sql); ResultSet rs = mainStmt.executeQuery(); ResultSetMetaData rsmd = rs.getMetaData(); int columnCount = rsmd.getColumnCount(); /* while(rs.next()){ table_name = rs.getString(2); // for(int i = 1; i <= 1; i ++){ column_name = rs.getString(3); System.out.println("SSS::::: " + table_name + " " + column_name ); // } */ for (int i = 1; i  1) { sb.append(", "); } column_name = rs.getString(3); String columnType = rsmd.getColumnTypeName(i); sb.append(" ").append(column_name).append(" ").append(columnType); int precision = rsmd.getPrecision(i); if (precision != 0) { sb.append("( ").append(precision).append(" )"); } } // for columns sb.append(" ) "); String sql2 = sb.toString(); PreparedStatement m = DB2.prepareStatement(sql); m.executeQuery(); System.out.println(sb.toString()); } } private static Connection getConnection() throws ClassNotFoundException, SQLException { Class.forName("COM.ibm.db2os390.sqlj.jdbc.DB2SQLJDriver"); Connection connection = DriverManager.getConnection("jdbc:db2://localhost:50000/navid", "navid", "oracle"); return connection; } }