是否可以从ResultSet中删除列?

时间:2014-07-04 17:40:39

标签: java jdbc resultset

我想知道是否可以从ResultSet对象中删除一个列,我知道只是不选择它进入select语句就足够了,事情是我有一个巨大的ResultSet 2列超过300k记录,我只需要2列用于我的程序的第一步,第二步按原样使用ResultSet并使用POI将其打印在Excel文件中。唯一能想到的就是在打印时不显示它,但这会导致我修改第二步逻辑。

然后我想知道是否有可能做类似删除行删除列。

resultSet.getAbsolte(4);
resultSet.deleteRow();

由于

1 个答案:

答案 0 :(得分:1)

将两列读入一些数据结构:

class TableX {
   List<?> firstColVals;
   List<?> secondColVals;
}

然后,在完成第一步(需要两列中的值)之后,只需执行

TableX tableVals = readTable(); // your usual while (rs.next()) { ... }
firstStep(tableVals);
tableVals.secondColVals = null; // now unneeded data can be freed by GC
secondStep(tableVals.firstColVals);