JDBC--Result 获取返回集合

    xiaoxiao2023-03-24  5

    package jdbc.chap05; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import jdbc.util.DbUtil; import model.Person; public class sec01 { private static DbUtil dbUtil=new DbUtil(); /** * 遍历查询结果1 * @throws Exception */ private static void listPerson()throws Exception{ Connection con=dbUtil.getCon();//获取连接 String sql="select * from t_student"; PreparedStatement pstmt=con.prepareStatement(sql); ResultSet rs=pstmt.executeQuery();//返回2维结果集ResultSet while (rs.next()){ int id=rs.getInt(1);//获取第一个列的值 编号ID String name=rs.getString(2);//获取第二个列的值 编号 name int age=rs.getInt(3);//获取第三列的值 编号age System.out.println("学生编号:"+id+"学生姓名:"+name+"学生年龄:"+age); System.out.println("========================================================"); } } /** * 遍历查询结果2 * @throws Exception */ private static void listPerson2()throws Exception{ Connection con=dbUtil.getCon();//获取连接 String sql="select * from t_student"; PreparedStatement pstmt=con.prepareStatement(sql); ResultSet rs=pstmt.executeQuery();//返回2维结果集ResultSet while (rs.next()){ int id=rs.getInt("id");//获取第一个列的值 编号ID String name=rs.getString("name");//获取第二个列的值 编号 name int age=rs.getInt("age");//获取第三列的值 编号age System.out.println("学生编号:"+id+"学生姓名:"+name+"学生年龄:"+age); System.out.println("========================================================"); } } private static List<Person> listPerson3()throws Exception{ List<Person> personlist=new ArrayList<Person>(); Connection con=dbUtil.getCon();//获取连接 String sql="select * from t_student"; PreparedStatement pstmt=con.prepareStatement(sql); ResultSet rs=pstmt.executeQuery();//返回2维结果集ResultSet while (rs.next()){ int id=rs.getInt("id");//获取第一个列的值 编号ID String personName=rs.getString("name");//获取第二个列的值 编号 name int age=rs.getInt("age");//获取第三列的值 编号age Person person=new Person(id, personName, age); personlist.add(person); } return personlist; } public static void main(String[] args) throws Exception { // listPerson(); // listPerson2(); List<Person> personList=listPerson3(); for (Person person:personList){ System.out.println(person.toString()); } } }

    关键点:重写ToString

    package model; /** * 个人信息 * @author MC-DS * */ public class Person { private int id; private String personName; private int age; public Person(int id, String personName, int age) { super(); this.id = id; this.personName = personName; this.age = age; } public Person(String personName, int age) { super(); this.personName = personName; this.age = age; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getPersonName() { return personName; } public void setPersonName(String personName) { this.personName = personName; } public Integer getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { // TODO Auto-generated method stub return "["+this.id+","+this.personName+","+this.age+"]"; } } 写前: model.Person@27d43d30 model.Person@5efd2ebd model.Person@4007ab03 model.Person@376c72cc model.Person@30e4cb81 model.Person@7cec9b3a model.Person@11c33ce9 model.Person@28d3ee1b model.Person@71b5438d model.Person@3366184d model.Person@73c58197 model.Person@2bbf1be2 写后: [1,ling,18] [2,李小龍,18] [6,劉德華,17] [7,古天樂,37] [8,李小龍,18] [22,李小龍,18] [222,李小龍,18] [233,李小龍,18] [656,李小龍,18] [658,李小龍,18] [659,郑伊健,37] [661,陈小春,32]
    转载请注明原文地址: https://ju.6miu.com/read-1200885.html
    最新回复(0)