You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将MySQL表中用户数据存入ArrayList并打印(Java JDBC实现)

将JDBC查询结果存入ArrayList后打印的实现方法

1. 创建Student实体类

要把用户的姓名、联系方式、年龄作为整体存储,先定义一个实体类封装这些字段,同时提供构造方法和toString()方法方便后续打印:

public class Student {
    private String name;
    private int contact;
    private int age;

    // 构造方法,用于初始化对象
    public Student(String name, int contact, int age) {
        this.name = name;
        this.contact = contact;
        this.age = age;
    }

    // 重写toString方法,直接打印对象时输出格式化信息
    @Override
    public String toString() {
        return name + " " + contact + " " + age;
    }

    // 按需添加getter方法,方便后续单独获取字段值
    public String getName() {
        return name;
    }

    public int getContact() {
        return contact;
    }

    public int getAge() {
        return age;
    }
}

2. 修改JDBC代码,用ArrayList存储并打印数据

修改原有JDBC代码,导入ArrayList和List,将查询到的每条记录封装成Student对象存入集合,最后遍历集合打印:

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

public class JDBC {
    
    public static void main(String[] args) throws Exception {
        Class.forName("com.mysql.cj.jdbc.Driver");
        Connection con= DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase","root","root");
        Statement st = con.createStatement();
        ResultSet rs = st.executeQuery("select * from student");
        
        // 创建ArrayList存储Student对象
        List<Student> studentList = new ArrayList<>();
        
        while(rs.next())
        {
            String name = rs.getString("name");
            int contact = rs.getInt("contact");
            int age = rs.getInt("age");
            
            // 将当前行数据封装为Student对象,加入集合
            studentList.add(new Student(name, contact, age));
        }
        
        // 遍历集合打印所有用户信息
        for(Student student : studentList) {
            System.out.println(student);
        }
        
        // 关闭数据库资源
        st.close();
        con.close();
    }
}

关键说明

  • 用实体类封装数据是Java开发的常规做法,比单独维护多个数组更易扩展和维护
  • ArrayList是动态数组,无需提前指定长度,能灵活存储任意数量的用户数据
  • 重写toString()方法后,直接打印Student对象就能输出格式化的信息,省去手动拼接字符串的麻烦

内容的提问来源于stack exchange,提问作者Ahmed Yusuf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 00:45:34