Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

स्प्रिंग बूट में सभी mysql टेबल डेटा को JSON में बदलें

आप INFORMATION_SCHEMA . का उपयोग करके दी गई तालिका के लिए कॉलम की सूची का चयन कर सकते हैं :

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

अब, ResultSet convert कन्वर्ट करें उपरोक्त क्वेरी से 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. अरबी पाठ को MySQL डेटाबेस में सहेजें

  2. नाशपाती के लिए प्रतिस्थापन:PHP 5.3 पर एमडीबी 2

  3. MySQL - पंक्तियों की गिनती और बाईं ओर समस्या शामिल हों

  4. mySQL त्रुटि 1040:बहुत अधिक कनेक्शन

  5. NetBeans का उपयोग करके एक MySQL डेटाबेस का बैकअप और पुनर्स्थापना कैसे करें?