JDBC--Result 获取返回集合

来源:互联网 发布:济南seo博客 编辑:程序博客网 时间:2024/05/04 07:33

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维结果集ResultSetwhile (rs.next()){int id=rs.getInt(1);//获取第一个列的值 编号IDString name=rs.getString(2);//获取第二个列的值 编号 nameint age=rs.getInt(3);//获取第三列的值 编号ageSystem.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维结果集ResultSetwhile (rs.next()){int id=rs.getInt("id");//获取第一个列的值 编号IDString name=rs.getString("name");//获取第二个列的值 编号 nameint age=rs.getInt("age");//获取第三列的值 编号ageSystem.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维结果集ResultSetwhile (rs.next()){int id=rs.getInt("id");//获取第一个列的值 编号IDString personName=rs.getString("name");//获取第二个列的值 编号 nameint age=rs.getInt("age");//获取第三列的值 编号agePerson 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;}@Overridepublic String toString() {// TODO Auto-generated method stubreturn "["+this.id+","+this.personName+","+this.age+"]";}}

写前:
model.Person@27d43d30model.Person@5efd2ebdmodel.Person@4007ab03model.Person@376c72ccmodel.Person@30e4cb81model.Person@7cec9b3amodel.Person@11c33ce9model.Person@28d3ee1bmodel.Person@71b5438dmodel.Person@3366184dmodel.Person@73c58197model.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]


0 0
原创粉丝点击