如何将ResultSet转换为DTO ArrayList

时间:2016-04-18 09:26:11

标签: java database arraylist resultset

我有一个数据库的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()在每次迭代后都不会向前移动一行。我如何实现这一目标?

2 个答案:

答案 0 :(得分:7)

问题是你一次又一次地设置同一个对象 您需要在循环

中创建一个新对象
for

答案 1 :(得分:0)

在while循环中创建DTO对象