Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

การสร้าง List จากตาราง MySQL ใน Java ด้วย ArrayList

การอ่านข้อมูลจาก MySQL ไปยัง Nested ArrayList ใน Java

ใช้ ArrayList> เพื่อเก็บข้อมูลหลายคอลัมน์หลายแถว

โครงสร้างตาราง

CREATE TABLE demo10 (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(20)
);

INSERT INTO demo10 (name) VALUES ('John'), ('Bob'), ('David');

โค้ด Java

import java.sql.*;
import java.util.ArrayList;

public class ListInListDemo {
    public static void main(String[] args) {
        ArrayList> outer = new ArrayList<>();
        
        try (Connection con = DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/sampledatabase", "root", "123456");
             Statement stmt = con.createStatement();
             ResultSet rs = stmt.executeQuery("SELECT * FROM demo10")) {
            
            while (rs.next()) {
                ArrayList inner = new ArrayList<>();
                inner.add(rs.getString("name"));
                outer.add(inner);
            }
            
            System.out.println("The names are as follows:");
            for (ArrayList row : outer) {
                System.out.println(row);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

ผลลัพธ์

The names are as follows:
[John]
[Bob]
[David]

แนวทางปฏิบัติที่ดีกว่า: สร้าง Class (POJO/Entity) แทนการใช้ ArrayList ซ้อนกัน เพื่อ Type Safety และความเข้าใจง่าย

public class User {
    private int id;
    private String name;
    // getters, setters
}