public PageBean<Route> queryPage(int cid, int currentPage, int pageSize) {
//总的条目数
int totalCount = dao.findTotalCount(cid);
//总的页数
int temp = totalCount % pageSize;
int tempPage = totalCount / pageSize;
int totalPage = (temp == 0 ? tempPage : tempPage + 1);
int star = (currentPage - 1) * pageSize;
//如果是最后一页,且小于pageSize,则设置pageSize为剩余的条目数
if (currentPage == totalPage && temp != 0) {
pageSize = temp;
}
//获取当前页码的旅游数据
List<Route> list = dao.findByPage(cid, star, pageSize);
//对实体赋值
PageBean<Route> pageBean = new PageBean<>();
pageBean.setCurrentPage(currentPage);
pageBean.setPageSize(pageSize);
pageBean.setTotalCount(totalCount);
pageBean.setTotalPage(totalPage);
pageBean.setList(list);
return pageBean;
}
如果最后一页不等于之前的条目数,不设置最后一页条目数,查询数据库会出差错,因为
select * from t_route where cid=? limit ?,?
最后一个问号是插多少条,因为最后一页不够数,所以会溢出,所以要设置好最后一页的条数