PageHelper的分页
PageHelper.startPage(pageNum,pageSize);
他是对之后的数据库查询语句才起作用,然后如果我用list处理了之后,数据减少了就不会有错误,比如获取第1页显示10条的数据,最终可能页面只显示5条。
而我的项目需求中就有要对list进行分页的。
下面我用一个自己写的分页来直接对list进行分页:
//创建Page类
Page page1 = new Page(page, limit);
//为Page类中的total属性赋值
int total = list.size();
page1.setTotal(total);
//计算数据下标起始值
int startIndex = (page - 1) * limit;
int endIndex = Math.min(startIndex + limit, total);
if (total > startIndex) {
//截取数据
page1.addAll(list.subList(startIndex, endIndex));
//创建PageInfo
PageInfo pageInfo = new PageInfo<>(page1);
return Utils.toJSONString("获取成功", pageInfo.getList(), (int) pageInfo.getTotal());
} else
return Utils.toJSONString("获取成功", list, list.size());
返回的转json就是正常的转json串的方法:
public static Object toJSONString(String msg, List list, int count) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("code", 0);
jsonObject.put("msg", msg);
jsonObject.put("data", list);
jsonObject.put("count", count);
return JSON.toJSONString(jsonObject, SerializerFeature.DisableCircularReferenceDetect);
}