【问题标题】:I getting limited record from table我从表中获得有限的记录
【发布时间】:2012-06-09 05:25:30
【问题描述】:

如何从表中获取前 40 条记录,我在 java 中使用结果集,是否可以获取前 40 条和下 40 条等,我不使用分页。

【问题讨论】:

  • 请更具体。您使用的是什么数据库(MySQL/Oracle/etc),分页限制或要求到底是什么?

标签: java jdbc resultset


【解决方案1】:

我认为您正在寻找分页,每页包含 40 个数据项。

查询就像 -

select *
 from
  ( select rownum rnm, a.*
     from (your_query) a
     where rownum <= :M )
 where rnm >= :N;

【讨论】:

    【解决方案2】:

    我认为从性能角度从结果集中提取一些记录不是一个好主意,因为它每次都会加载整个表数据。如果您触发分页查询以仅加载所需的数据(语法取决于数据库,例如 MySql 提供 Limit 子句),那就太好了。

    【讨论】:

      【解决方案3】:

      不确定您的问题到底是什么。但如果我理解正确,您一次只需要从数据库中获取 40 条记录,并在需要时分批获取 40 条记录。

      如果上述情况属实,那么您可以使用CachedRowSet。在此,您可以使用 setPageSize() 设置批处理的大小。

      如果这不是您想要的,请为您的问题添加更多解释。

      【讨论】:

        猜你喜欢
        • 2012-07-29
        • 1970-01-01
        • 1970-01-01
        • 2010-12-31
        • 2015-03-20
        • 2017-06-24
        • 2020-08-22
        • 1970-01-01
        • 2014-06-25
        相关资源
        最近更新 更多