欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于java中分页的实现

程序员文章站 2022-07-12 17:14:51
...
一直以来,分页和排序问题一直是做J2ee项目的一个很重要的问题。一个好的分页排序算法,会使系统得到很好的性能.反之,系统性能会很低,而且系统速度慢,这是每位programmer不想看见的。
总结现在的关于排序分页方面的各种实现,大概有一下几种:
1,基于框架实现的,如hibernate的内部分页排序的实现。
2,基于外部组件的实现,如Toplink比较多,可是没有分页的支持。
3,还有的就是各个项目组自己的实现了。
一直我都希望在自己的项目组内部来实现分页排序,现在把我了解的写下来。
据robbin提到的分页算法,
    SELECT * FROM
       ( SELECT row_.*, rownum rownum_ FROM
            (selelct * from TABLE where ..... ) row_
          WHERE rownum <= ?
       )
   WHERE rownum_ > ?

注释:1,首先是最内层,得到你想要的所有数据了。
            2,然后利用Oracle内部rownum,为从内部那层搜索到的数据来编号,这样就可以来利用rownum来实现分页了。
            3,直接然后自己选择那些已经编号了数据就可以得到任意数据了。