有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何提取数据库的结构以使用JDBC将其复制到另一个数据库中?

我必须为大学编写一个程序,将MySQL数据库复制到PostgreSQL数据库中。 我的方法是在中读取MySQL数据库,将所有需要的信息存储在我编写的类的对象中,然后将它们传输过来

因此,我提取每个表的每一列,将它们保存为具有诸如列名、是否可为空、精度、数据类型等属性的对象

这是一个相当多的工作,我想知道是否有一个更简单的方法做这件事。是否有某种方法允许我获取ResultSet并在另一个数据库中创建一个新表,或者逐步提取是我的最佳选择

ResultSet columns = databaseMetaData.getColumns(null, null, tableName, null);

列类:

public class Column {
    private String NAME;
    private int NULLABLE;
    private int PRECISION;
    private String DATA_TYPE;
    private String DEFAULT_VALUE;

    public Column(String NAME, int NULLABLE, String DATA_TYPE, int PRECISION, String DEFAULT_VALUE) {
        this.NAME = NAME;
        this.NULLABLE = NULLABLE;
        this.DATA_TYPE = DATA_TYPE;
        this.PRECISION = PRECISION;
        this.DEFAULT_VALUE = DEFAULT_VALUE;
    }
}

如何提取数据:

for (int i = 1; i <= columnCount; i++) {
    String columnName = resultSetMetaData.getColumnName(i);
    int nullable = resultSetMetaData.isNullable(i);
    String type = resultSetMetaData.getColumnTypeName(i);
    int precision = resultSetMetaData.getPrecision(i);
    Column column = new Column(columnName, nullable,type, precision, defaultValues.get(i -1));
}

提前谢谢大家


共 (0) 个答案