PageInfo实现分页

Posted foreverstudy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PageInfo实现分页相关的知识,希望对你有一定的参考价值。


import com.github.pagehelper.Page;
需要导入的jar Controller
import com.github.pagehelper.PageInfo;


@RequestMapping(value = "/getMoreBook",produces="application/json;charset=utf-8")//处理返回中文乱码
@ResponseBody
public String getMoreBook(String type,String majorCate,@RequestParam(required = false,defaultValue = "1")String page) {
PageInfo<Book> books=new PageInfo<Book>();
books=bookServiceImpl.getMoreBook(type,majorCate,page);
JSONObject jsObj= new JSONObject();
jsObj.put("status",1);
jsObj.put("msg","ok");
jsObj.put("content",books);
return jsObj.toString();
}

Service
PageInfo<Book> getMoreBook(String type, String majorCate, String page);
ServiceImpl
public PageInfo<Book> getMoreBook(String type, String majorCate, String page){
try {
PageHelper.startPage(Integer.parseInt(page), 10);
List<Book> books = bookMapper.getMoreBook(type,majorCate);
PageInfo<Book> pageInfo = new PageInfo<Book>(books);
return pageInfo;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}

返回的数据格式

{
"content": {
"endRow": 100,
"firstPage": 6,
"hasNextPage": true,
"hasPreviousPage": true,
"isFirstPage": false,
"isLastPage": false,
"lastPage": 13,
"list": [{},{}],
"navigateFirstPage": 6,
"navigateLastPage": 13,
"navigatePages": 8,
"navigatepageNums": [6, 7, 8, 9, 10, 11, 12, 13],
"nextPage": 11,
"pageNum": 10,
"pageSize": 10,
"pages": 189,
"prePage": 9,
"size": 10,
"startRow": 91,
"total": 1884
},
"status": 1,
"msg": "ok"
}

以上是关于PageInfo实现分页的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 多页分页

react-slick 自定义分页分页道具使用

单页分页问题中的多个角度材料表

梦内容页分页标题提取

问一个Mybatis分页问题,Page和PageInfo的区别

一个视图中的 CI 多页分页,