虚拟字段进行排序后分页

遇到排序后分页是,会在sql中继续宁排序,用PageHelper进行分页。但如果是java代码里的虚拟字段排序,程序的分页自然在排序之前,排序时只是对这一页(limit)进行排序,并不完整,因此,需要自己写一个简单的list分页
 1     public static List startPage(List list, Integer pageNum, Integer pageSize) {
 2         if (list == null) {
 3             return null;
 4         }
 5         if (list.size() == 0) {
 6             return null;
 7         }
 8         Integer count = list.size(); // 记录总数
 9         Integer pageCount = 0; // 页数
10         if (count % pageSize == 0) {
11             pageCount = count / pageSize;
12         } else {
13             pageCount = count / pageSize + 1;
14         }
15         int fromIndex = 0;
16         int toIndex = 0;
17         if (pageNum != pageCount) {
18             fromIndex = (pageNum - 1) * pageSize;
19             toIndex = fromIndex + pageSize;
20         } else {
21             fromIndex = (pageNum - 1) * pageSize;
22             toIndex = count;
23         }
24         List pageList = list.subList(fromIndex, toIndex);
25         return pageList;
26     }

使用

        resultsList = OtherUtils.startPage(resultsList,pageNum,pageSize);

        JSONObject resultObject = new JSONObject();
        resultObject.put("content",resultsList);
        resultObject.put("pageNum",pageNum);
        resultObject.put("pageSize",pageSize);
        Double totalPages = Double.valueOf(resultsList.size())/Double.valueOf(pageSize);
        resultObject.put("totalPages",(int)Math.ceil(totalPages));
        resultObject.put("totalSize",resultsList.size());
View Code
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值