【发布时间】:2012-06-09 05:25:30
【问题描述】:
如何从表中获取前 40 条记录,我在 java 中使用结果集,是否可以获取前 40 条和下 40 条等,我不使用分页。
【问题讨论】:
-
请更具体。您使用的是什么数据库(MySQL/Oracle/etc),分页限制或要求到底是什么?
如何从表中获取前 40 条记录,我在 java 中使用结果集,是否可以获取前 40 条和下 40 条等,我不使用分页。
【问题讨论】:
我认为您正在寻找分页,每页包含 40 个数据项。
查询就像 -
select *
from
( select rownum rnm, a.*
from (your_query) a
where rownum <= :M )
where rnm >= :N;
【讨论】:
我认为从性能角度从结果集中提取一些记录不是一个好主意,因为它每次都会加载整个表数据。如果您触发分页查询以仅加载所需的数据(语法取决于数据库,例如 MySql 提供 Limit 子句),那就太好了。
【讨论】:
不确定您的问题到底是什么。但如果我理解正确,您一次只需要从数据库中获取 40 条记录,并在需要时分批获取 40 条记录。
如果上述情况属实,那么您可以使用CachedRowSet。在此,您可以使用 setPageSize() 设置批处理的大小。
如果这不是您想要的,请为您的问题添加更多解释。
【讨论】: