如何将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
相关产品推荐
相关产品推荐

