如何处理结果集数据

时间:2010-04-06 13:13:05

标签: java jdbc

我在结果集中获得了大量记录。我担心的是:

  1. 结果集如何在内部处理这些记录?和
  2. 程序员如何批量处理这些记录以免出现内存问题。?
  3. 等待你的答案.. 非常感谢

1 个答案:

答案 0 :(得分:2)

当您遍历结果集时,可以使用Statement.setFetchSize()来控制提取到内存中的记录数。但总的来说,我认为它取决于JDBC驱动程序如何处理该设置以及它如何将获取的记录存储在内存中。

编辑:这是一个例子(理论上结果集只会在内存中保留1条记录):

Statement stmt = con.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.FETCH_FORWARD);
stmt.setFetchSize(1);
ResultSet srs = stmt.executeQuery("SELECT COF_NAME, PRICE FROM COFFEES");
while (srs.next()) {
   String name = srs.getString("COF_NAME");
   float price = srs.getFloat("PRICE");
   // Do your processing...
}