Java中将ResultSet结果集转换为List
的有关信息介绍如下:ResultSet数据库结果集(通常通过执行查询数据库的语句生成),默认的 ResultSet 对象不可更新,仅有一个向前移动的指针。只能迭代它一次,并且只能按从第一行到最后一行的顺序进行。所以,将结果集转换为List集合更便于数据的使用
【方法1】借助bean的办法
//rs是一个查询语句所返回的结果集
ResultSet rs=new ResultSet();
rs=pstmt.executeQuery();
//将rs逐条取出,并将每一项放在一个bean对应的值里
while(rs.next())
{
RecBean rec=new RecBean();
rec.setId(rs.getInt(1));
rec.setAgentNo(rs.getString(2));
rec.setFileName(rs.getString(3));
list.add(rec);
}
【方法2】借助ResultSetMetaData 和Map
private static List convertList(ResultSet rs) throws SQLException {
List list = new ArrayList();
ResultSetMetaData md = rs.getMetaData();
int columnCount = md.getColumnCount();
while (rs.next()) {
Map rowData = new HashMap();
for (int i = 1; i <= columnCount; i++) {
rowData.put(md.getColumnName(i), rs.getObject(i));
}
list.add(rowData);
}
return list;
}