Anda dapat memilih daftar kolom untuk tabel yang diberikan menggunakan INFORMATION_SCHEMA
:
SELECT COLUMN_NAME FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE TABLE_NAME LIKE 'table_name'
Sekarang, konversikan ResultSet
dari kueri di atas ke List<String>
dari nama kolom. Setelah itu kita dapat menggunakannya untuk mengonversi ResultSet
final ke JSON Object
.
Kode semu:
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
Ketika ResultSet
sangat besar, kami harus mempertimbangkan untuk menggunakan Streaming API
dari Jackson
atau Gson
perpustakaan untuk menghindari masalah "kehabisan memori".
Lihat juga:
- Cara mendapatkan database struktur di MySQL melalui kueri
- Jackson Streaming API
- Jackson - Model pemrosesan:Streaming API
- Streaming Gson
Perbarui
Sepertinya kita tidak perlu memilih nama kolom menggunakan SQL
tambahan kueri karena ResultSet
memiliki getMetaData
metode:
Lihat juga: