pageHelper源码问题
来源:8-4 后台商品列表动态分页功能开发
指令狂人
2017-08-21
public static <E> Page<E> startPage(int pageNum, int pageSize, boolean count, Boolean reasonable, Boolean pageSizeZero) {
Page<E> page = new Page<E>(pageNum, pageSize, count);
page.setReasonable(reasonable);
page.setPageSizeZero(pageSizeZero);
//当已经执行过orderBy的时候
Page<E> oldPage = SqlUtil.getLocalPage();
if (oldPage != null && oldPage.isOrderByOnly()) {
page.setOrderBy(oldPage.getOrderBy());
}
SqlUtil.setLocalPage(page);
return page;
}
里面没有用到核心方法Intercept()和plugin()方法,并且PageInfo里的list也不是很理解,pageInfo怎么和PageHelper联系上呢进而实现分页呢
1回答
-
pageHelper.startPage紧跟着的第一个方法会被分页,分页时,实际返回的结果list类型是Page<E>,如果想取出分页信息,需要强制转换为Page<E>,或者用PageInfo来对结果包装,所以老师每次使用PageInfo的时候,在new PageInfo(xx)这里,xx都是放的startPage下面的方法返回然后setList实际结果
022017-08-22
相似问题