我有一个数据库的ResultSet,每行包含6列。
对我来说,每一行都是一个对象,每一列都是该对象的参数。
问题是,我尝试使用此代码执行此操作:
while(rs.next() && i<25){
aux.setIdVinilo(rs.getInt("id_vinilo"));
aux.setTitulo(rs.getString("titulo"));
aux.setAutor(rs.getString("autor"));
aux.setGenero(rs.getString("genero"));
aux.setFecha(rs.getInt("fecha"));
aux.setDiscografica(rs.getString("discografica"));
aux.setImagen(rs.getString("imagen"));
historial.add(aux);
i++;
}
rs是ResultSet,history是ArrayList,aux是我的DTO,由显示的字段组成。
这个问题是它最终用相同的信息填充ArrayList 25次。所以我猜rs.next()在每次迭代后都不会向前移动一行。我如何实现这一目标?
答案 0 :(得分:7)
问题是你一次又一次地设置同一个对象 您需要在循环
中创建一个新对象for
答案 1 :(得分:0)
在while循环中创建DTO对象