如题,以前用的分页算法是全查出来再从中取出指定页需要的数据,但这次数据量比较大,如何实现用多少数据,查多少数据?请谈下如何不查全部数据却能知道总的数据量(也就是一共有多少页),不知道我说明白没....

解决方案 »

  1.   

    我的方法: jdbc: top语句,
             不查全部数据却能知道总的数据量(也就是一共有多少页): count()
             hibernate: setFirstResult(),setMaxResult() 其原理也是top()比如你分页,单页显示10条,你可以top(50) 查50条记录,当点击上/下一页用前面的50条记录,不查数据库了.
      

  2.   

    不知你是用JDBC实现还是利用Hibernate、ibatis之类的框架实现的。如果是JDBC,以mysql为例的话可以select某一段数据,你Google "select limit mysql"应该就会有结果。如果是Hibernate框架的话,用HQL查询数据也有类似功能。具体可以查询下Query这个类的使用。
    至于第二个问题,知道多少页的话,可以select count(*) from table获得一个数据,然后去除每页记录数,不就可以知道有多少页了。
    前几天我也做过分页,需要示例的话,可以联系我,[email protected]
      

  3.   

    全部取出来,然后分页。   天哪,不少项目都这样。
    LZ不是使用Hibernate了嘛? hibernate就支持分页的啊。--------------
    细粒度权限管理
    www.metadmin.com