ResultSet基础在Statement详解后一部分
【ResultSet案例】
我们已经从上述代码中获取了数据库中的数据,每一行就是一个java对象,形成很多个java对象。在实际应用中,我们希望以一个表的形式来展现,就需要对这些java对象进一步处理,放到一个容器内,而集合就是一个专门装对象的容器,然后把这个容器给页面,页面就可以展示这些数据。
需求:查询account账户表数据,封装为Account对象中,并存储到ArrayList集合中。
第一步:定义实体类Account
新建一个包pojo(这个名称一般代表存放一些实体类) 1、成员变量的名称要与数据库里字段的名称和类型一样。 2、提供setter和getter方法,快捷键alt+insert。 3、为了方便查看,使用toString()方法,同样alt+insert
public class Account {
private int id;
private String name;
private double money;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
@Override
public String toString() {
return "Account{" +
"id=" + id +
", name='" + name + '\'' +
", money=" + money +
'}';
}
}
第二步:创建对象,并将获取的数据封装到对象中 使用@Test代替主函数去运行测试
while(rs.next()){
Account account = new Account();
int id = rs.getInt("id");
String name = rs.getString("name");
double money = rs.getDouble("money");
account.setId(id);
account.setName(name);
account.setMoney(money);
}
第三步:把对象存到集合内
如果在while循环里创建集合,那么每一次循环都会有一个新的集合,我们只需要将所有对象存到一个集合内,所以创建集合应在while循环体外。
List<Account> list = new ArrayList<>();
while(rs.next()){
Account account = new Account();
int id = rs.getInt("id");
String name = rs.getString("name");
double money = rs.getDouble("money");
account.setId(id);
account.setName(name);
account.setMoney(money);
list.add(account);
}
System.out.println(list);
|