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());
}
}
}
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]