J2EE学习笔记(7) Paginator 分页杂谈

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关键字得到类似的功能

--==欢迎大家跟贴就该文章和感兴趣的话题和我讨论==--

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在 Java 中,我们可以使用一些开源的分页插件来实现分页功能,比如 MyBatis、Hibernate 等。这里以 MyBatis 分页插件为例,介绍如何实现分页功能: 1. 在 Maven 中引入 MyBatis 分页插件的依赖: ```xml <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.3.0</version> </dependency> ``` 2. 在 MyBatis 配置文件中配置分页插件: ```xml <!-- 配置分页插件 --> <plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"> <!-- 分页参数的合理化配置 --> <property name="reasonable" value="true"/> </plugin> </plugins> ``` 3. 在 Java 代码中使用分页插件: ```java import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; // 查询第 2 页的数据,每页 10 条 int pageNum = 2; int pageSize = 10; PageHelper.startPage(pageNum, pageSize); List<Data> dataList = dataMapper.selectData(); // 将查询结果封装为 PageInfo 对象 PageInfo<Data> pageInfo = new PageInfo<>(dataList); // 获取分页信息 int totalPages = pageInfo.getPages(); // 总页数 int totalData = pageInfo.getTotal(); // 总记录数 int currentPage = pageInfo.getPageNum(); // 当前页码 List<Data> pageData = pageInfo.getList(); // 当前页的数据 ``` 上面的代码中,首先使用 PageHelper.startPage() 方法指定要查询的页码和每页数据量。然后使用 MyBatis 进行数据查询。最后,将查询结果封装为 PageInfo 对象,通过 PageInfo 对象获取分页信息和当前页的数据。 需要注意的是,MyBatis 分页插件的使用方法可能会因版本不同而略有不同,具体使用方式可以参考官方文档。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值