public ArrayList<DTO> select(DTO dto) {

ResultSet rs = null;

ArrayList<DTO> list = new ArrayList<DTO>();


String query = "select * from test_str";


try {

PreparedStatement pstmt = conn.prepareStatement(query);

rs = pstmt.executeQuery();

while (rs.next()) {

dto.setId(rs.getInt("id"));

dto.setStr(rs.getString("str"));

dto.setStr2(rs.getString("str2"));

list.add(dto);

System.out.println("dto.getStr() : " + dto.getStr());

System.out.println("dto.getStr2() : " + dto.getStr2());

System.out.println("dto.getId() : " + dto.getId());

System.out.println();

}

} catch (SQLException e) {

System.out.println("SQL exception(select ()) : " + e.getMessage());

}

System.out.println("list.get(0).getStr2() : " + list.get(0).getStr2());

return list;

}


이렇게 하면 while문 안에서는 각 객체마다의 값이 잘나오는데


리턴 바로 위에 줄에서는 마지막객체의 값만 나와요 어디가 잘못된걸까요?