我试图迭代查询的结果集,但出现了一些我无法解释的奇怪行为。我已经在线和离线搜索了几个小时,我希望你们中的一个人可以看到是什么导致了它,或者可能知道是什么导致了它。
我正在使用 Maven、JEE 和 JDBC。
在对 MySQL 数据库运行查询后,我尝试对其进行迭代并将 DTO(数据传输对象)添加到列表中。
class PersonDTO {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
我迭代结果的类使用 CDI 注入 PersonDTO。
我可以毫无问题地进行查询,但是这里出错了(rs 是 ResulSet:
List<PersonDTO> persons = new ArrayList<>();
while(rs.next())
String name = rs.getString("name");
System.out.println("Current name: " + name);
PersonDTO.setName(name);
persons.add(playlistDTO);
}
我的控制台显示正确的结果:
name: Jack
name: Doris
然而在persons数组中,内容是Doris,Doris(第二个名字两次)。
米脂
相关分类