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
があります 方法:
参照: