常用的分页技术有哪几种?分享下可以吗?

解决方案 »

  1.   

    分页技术是甚么?lz是想知道怎样分页吗?可以自己写及各类对分页信息进行封装,然后在页面调用,也可以使用开源的pager-taglib。
      

  2.   

    真分页和假分页,真分页是数据库sql分页,例mysql的:select * from xxx ....limit .忘了具体的sql语句了;假分页就是用程序分页,先通过数据库查出所有数据,然后通过程序段显示;
      

  3.   

    程序分页不推荐,一般是数据库分页,前端把页数传给服务器,后端将数据传回.客户端分页有js的,也可以自己写一个循环将值传给servlet(数据量少,结构简单的可以用这种原始方法).
      

  4.   

    建议楼主是用xpager这个开源的第三方包,很方面。
      

  5.   

    xpager是在数据库就已经进行了分页动作,只获取将要展示的一页数据,而且是用起来也很方便,没有多少额外的操作。
      

  6.   

    xpager官方给出的例子我感觉给的不是特别好。
    尤其是是用了spring容器进行管理后,页面需要一个service对象来操作分页动作,所以这个service对象是需要容器注入控制层,然后从控制层传递给页面,页面自己new出来是不行的。其它应该都很好解决。
      

  7.   


    oracle有分页sql的,使用的是rownum,示例代码:
    SELECT * FROM 
    (
    SELECT A.*, ROWNUM RN 
    FROM (SELECT * FROM TABLE_NAME) A 
    WHERE ROWNUM <= 40
    )
    WHERE RN >= 21
    mysql是limit,具体没怎么写过,好像是 limit 0,10,前一个是第几页,后一个参数是一页显示几条。客户端分页的话,就是js分页了。具体没怎么写过,不是很清楚。
      

  8.   

    在服务器端分页有两种,一种是通过sql语句控制比如SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id,一种是通过程序分段控制即在后台定义页数和每页显示的数量。也可以在前台分页,但是要先将后台的数据传到前台,前台再定义每页显示的数量,根据需要显示
      

  9.   

    用mysql的思路,主要是用到limit语句,如
    select * from student limit 1,10
    select * from student limit 11,20
    jsp页面通过传入参数pageId和pageSize来控制分页,当要查询第3页,一页显示10条时,
    数据库的查询语句如下
    select * from student limit 21,30用oracle的思路,主要用到rownum,且rownum不用来进行>或>=操作,只能操作别名,如
    select * from (select rownum as rownum的别名,* from student where rownum < 100) where rownum的别名 > 90如果你用msserver的话,建议改行搞.net吧。。
      

  10.   

    bboss 框架,很简单的实现了分页的一整套东西。
      

  11.   

    为什么不通过 Hibernate来进行分页呢。就两句话的事情,
     JDBC也可以分页呀~  在前台页面js中也可以实现分页。 
      

  12.   

    oracle有按照rownum分页和rowid分页,其中rowid分页效率比rownum高一点,但是sql语句长很多。例如scott用户中的emp表可以用以下语句分页,楼主可测试下:
    select * from (
     select t1.*,rownum rn from (
      select * from scott.emp order by sal desc --这里是排序好的表
     )t1 where rownum < 8 --这里是上限
    )where rn > 5 --这里是下限select * from scott.emp where rowid in ( --这里选择要查询出的字段
     select rid from (
      select rownum rn,rid from (
       select rowid rid,sal from scott.emp order by sal desc --这里进行表排序
      ) where rownum < 8 --这里是上限
     ) where rn > 5 --这里是下限
    ) order by sal desc --这里再次排序
      

  13.   

    Hibernate也可以,但是如果使用setFirstResult和setMaxResult来做的话,Hibernate也是将数据全部从数据库中取出来,然后再服务器端进行分页,还是会进行不必要的数据读取,所以建议使用数据库分页
      

  14.   

    分页大致有程序分页和sql分页,程序分页比较麻烦但是灵活性很强,sql分页效率比较高,但是有些分页sql还是很麻烦的。
      

  15.   

      有分页标签啊   sql分页