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关键字得到类似的功能
--==欢迎大家跟贴就该文章和感兴趣的话题和我讨论==--
iBatis分页查询及数据库分页处理
文章讨论了Paginator分页问题,指出iBatis的分页查询方法底层将结果存于内存,结果集大时浪费内存,可通过SqlMapConfig.xml设置关掉缓存。还介绍把选取子集任务交给数据库处理,给出了Oracle和MySQL的实现示例。
317

被折叠的 条评论
为什么被折叠?



