分页还有真假么?按照要求分页就可以了,无论何止Oracle都可以用伪列来分页,mysql用limit,只是sql组装的问题了。只要符合要求的分页,不分真假吧

解决方案 »

  1.   

    你执行sql,返回所有的结果集,你在代码里处理,那是伪分页;返回你需要的那几条,那就是真分页。
      

  2.   

    jianpc,我知道,但是关键是如何返回你需要的那几条,符合你查询条件的列都不是按顺序排列的,所以他们的伪列也不是顺序的,如何能用Oracle的rownum,mysql的limit来进行真分页??? 只能把查询好的结果放到内存中,然后在程序中分页,也就是假分页,不知道是不是这样??
      

  3.   


    如果用hibernate,就交给他来做就行。他会根据相应的数据库,转成相应的sql语句;如果数据库不支持分页sql,他会做伪代分页,用rs直接定位哪一条到哪一条;如果是jdk1.4之前的版本,rs不支持跳跃移动,他会一步步next到你要的为止。如果用jdbc开发,就直接写sql呗。查出来的不按顺序排列没错,但每一次查都是一样的顺序。在不改动数据库的情况下,你查第1条到第10条,第二次查第11条到20条是不会发现有重复数据的。或者你在检索的时候,带上order by不就OK了嘛,order by之后,再用rownum或limit来取你要的记录。