从数据库中取数据的翻页问题?
1、根据sql语句(进行记录集的分隔)。
2、根据大对象(进行大对象的分块)。
希望大家能具体的谈谈!
但是我有一个问题,就是每次翻页都要先生成一个很大的记录集,然后定位,从大的记录集中得到小块记录集。每翻页生成一个很大的记录集,和定位,效率会不会低啊?比如对10000条记录作每10条分页,每次翻页都先得到10000条记录的记录集,例如翻到每999页,如果是jdbc1.0就要rs.next()循环9990,jdbc2.0中的rs.absolute()还好一点。
CC: 传进去整个List,传出要显示的部分List,传进去整个List是不是全个记录集啊,传出要显示的部分List就是分页后的小记录罗。好象有上面同样的问题哦。
我的想法是只要得到大的记录集一次,每次翻页不要每次生成大的记录集,大家有没有好的方法!
这样实现的,Model传出“大List”给View(jsp页面)。在View中过虑一下,得到“小List”,选择“下一页”,这时候一定不能通过Control,不然,Model又会生成“大List”。所以,可以直接从View与View之间跳转,“下一页”的那个View接到参数与“大List”再执行过虑,生成它自己的“小List”.
其实,View与“下一页View”是同一个页面。
你们懂了么?一定要明白MVC的意义。当然,我指的MVC并不等于Structs。MVC是思想与框架上的东东,不绝对指定某项技术。
请大家比较这两种方法吧,我不知选哪一种好。有没有更好的方法。
你的Model传出“大List”给View(jsp页面),是不是要将大List保存啊,再通过“大List”生成"小List"。你的“大List”保存在哪里?