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

nom7f22z  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(312)

我必须写一个程序,将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));
}

提前谢谢大家。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题