Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Chuyển đổi tất cả dữ liệu bảng mysql thành JSON trong khởi động mùa xuân

Bạn có thể chọn danh sách các cột cho bảng đã cho bằng cách sử dụng INFORMATION_SCHEMA :

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

Bây giờ, hãy chuyển đổi ResultSet từ truy vấn trên đến List<String> tên cột. Sau đó, chúng tôi có thể sử dụng nó để chuyển đổi ResultSet cuối cùng tới JSON Object .

Mã giả:

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

Khi ResultSet là rất lớn, chúng tôi nên xem xét sử dụng Streaming API từ Jackson hoặc Gson thư viện để tránh sự cố "hết bộ nhớ".

Xem thêm:

Cập nhật

Có vẻ như sự kiện chúng tôi không cần chọn tên cột bằng cách sử dụng thêm SQL truy vấn vì ResultSet getMetaData phương pháp:

Xem thêm:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các cột tự động tăng dần của MySQL trên GIAO DỊCH, COMMIT và ROLLBACK

  2. Làm cách nào để thêm cột mới vào bảng MYSQL?

  3. Làm thế nào để so sánh 2 danh sách và hợp nhất chúng trong Python / MySQL?

  4. Lưu nội dung tệp văn bản vào DB:Giá trị chuỗi không chính xác:'\ xEF \ xBB \ xBF # W ...' cho cột 'nội dung' ở hàng 1

  5. Cơ sở dữ liệu so sánh MySQL