sql >> Databáze >  >> RDS >> Mysql

Převeďte všechna data tabulky mysql na JSON v jarním spouštění

Seznam sloupců pro danou tabulku můžete vybrat pomocí INFORMATION_SCHEMA :

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

Nyní převeďte ResultSet z výše uvedeného dotazu na List<String> názvů sloupců. Poté jej můžeme použít ke konverzi finální ResultSet na JSON Object .

Pseudokód:

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

Když ResultSet je obrovský, měli bychom zvážit použití Streaming API od Jackson nebo Gson knihovny, abyste se vyhnuli problému s nedostatkem paměti.

Viz také:

Aktualizovat

Vypadá to, že nemusíme vybírat názvy sloupců pomocí extra SQL dotaz, protože ResultSetgetMetaData metoda:

Viz také:



  1. Chyba služby XAMPP MySQL po restartu

  2. Dotaz MySQL pro výběr dat z minulého týdne?

  3. Jak získat data z databáze mysql

  4. Dotazování dat spojením dvou tabulek ve dvou databázích na různých serverech