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实现分页的主要内容,如果未能解决你的问题,请参考以下文章