sql >> データベース >  >> RDS >> Mysql

SpringBootですべてのmysqlテーブルデータをJSONに変換します

    INFORMATION_SCHEMAを使用して、特定のテーブルの列のリストを選択できます :

    SELECT COLUMN_NAME FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE TABLE_NAME LIKE 'table_name'
    

    次に、ResultSetを変換します 上記のクエリからList<String>へ 列名の。その後、それを使用して最終的なResultSetを変換できます JSON Objectへ 。

    擬似コード:

    Connection connection = createConnection();
    List<String> columns = loadColumns(connection, tableName);
    ResultSet dataSet = loadData(connection, tableName);
    while (dataSet.next()) {
        JSONObject record = new JSONObject();
        for (String column : columns) {
            record.put(column, dataSet.getObject(column));
        }
        array.add(record);
    }
    // save array to file
    

    ResultSetの場合 Streaming APIの使用を検討する必要がある巨大な Jacksonから またはGson 「メモリ不足」の問題を回避するためのライブラリ。

    参照:

    更新

    追加のSQLを使用して列名を選択する必要はないようです。 ResultSetのためにクエリを実行します getMetaData があります 方法:

    参照:



    1. PostgreSQLでデータベースとテーブルを作成および削除する方法

    2. PostgreSQLでdatabase_nameコマンドを使用する

    3. データベース経由でdatetimepickerを使用して日付をフィルタリングする方法

    4. mysqlまたはrailsでこれをどのように行いますか