Paginator 分页杂谈
iBatis提供了这样的分页查询方法
List list=sqlMap.executeQueryForList("SQL_Alias",HashMapObj,skipResults,maxResults);
但它底层的实现是把结果完全存在内存里,在resultset可能很大的情况下,非常浪费内存,建议不要使用,SqlMapConfig.xml以下设置就可以关掉此项缓存
<settings
lazyLoadingEnabled="false"
cacheModelsEnabled="false"
enhancementEnabled="false"
maxRequests="512" maxSessions="128" maxTransactions="32"
/>
我们可以把选取一个子集的任务交给数据库处理,Oracle里我们可以这样
select A.* from
(select indent_rq_no,rownum as RN from indent_rq_mstr order by indent_rq_no) A
where RN<=8 and RN>=3
在MySQL里可以用TOP关键字得到类似的功能
--==欢迎大家跟贴就该文章和感兴趣的话题和我讨论==--