1,代码
法一:
import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;
import java.util.List;
/**
* List分页工具类
*
*/
public class PageUtil {
/**
* 对List进行分页
*
* @param list
* @param pageNum
* @param pageSize
* @param <T>
* @return PageInfo<T>
*/
public static <T> PageInfo<T> startPage(List<T> list, Integer pageNum, Integer pageSize) {
//创建Page类
Page<T> page = new Page<>(pageNum, pageSize);
//为Page类中的total属性赋值
page.setTotal(list.size());
//计算当前需要显示的数据下标起始值
int startIndex = (pageNum - 1) * pageSize;
int endIndex = Math.min(startIndex + pageSize, list.size());
//从链表中截取需要显示的子链表,并加入到Page
page.addAll(list.subList(startIndex, endIndex));
//以Page创建PageInfo
return page.toPageInfo();
}
/**
* 对List进行分页
*
* @param list
* @param pageNum
* @param pageSize
* @param size
* @param <T>
* @return PageInfo<T>
*/
public static <T> PageInfo<T> startPage(List<T> list, Integer pageNum, Integer pageSize, Long size) {
//创建Page类
Page<T> page = new Page<>(pageNum, pageSize);
//为Page类中的total属性赋值
page.setTotal(size);
// 添加数据
page.addAll(list);
//以Page创建PageInfo
return page.toPageInfo();
}
}
法二:
/**
* 分页查询管理员信息
*
* @param pageNum num
* @param pageSize size
* @return 管理员分页数据
*/
public PageInfo<AdminDTO> listAdmin(Integer pageNum, Integer pageSize) {
//userDao.selectAdmin()不能直接放数据集,否则失效,必须为数据查询的函数,dao层查询
Page<AdminDTO> page = PageHelper.startPage(pageNum, pageSize).doSelectPage(() -> userDao.selectAdmin());
return new PageInfo<>(page);
}