Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Ubah semua data tabel mysql menjadi JSON di boot musim semi

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:

Perbarui

Sepertinya kita tidak perlu memilih nama kolom menggunakan SQL tambahan kueri karena ResultSet memiliki getMetaData metode:

Lihat juga:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menanyakan SKEMA INFORMASI MySQL:Mengapa? Bagaimana?

  2. Kesalahan Kueri SQL

  3. Kode Kesalahan:1290. Server MySQL berjalan dengan opsi --secure-file-priv sehingga tidak dapat menjalankan pernyataan ini

  4. Apakah menggunakan fungsi database WordPress get_results() mencegah injeksi sql?

  5. Temukan datetime terdekat dengan datetime yang ditentukan dalam kueri mysql