手动写分页当然是没问题的。但是如果图省事,可以使用pageHelper。
用法
pom.xml引入依赖:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.4</version>
</dependency>
java代码:
// 先写一行PageHelper代码
// 然后跟查询语句(重,一般要保证pageHelper后面跟查询语句)
// 封装要返回的PageInfo信息
PageHelper.startPage(request.getPageNum(), request.getPageSize());
List<User> userList= userMapper.selectByCondition(request);
jsonResult.setData(new PageInfo<User>(userList));
这就ok了,简单吧。
pageHelper原理
暂略。
pageInfo 返回非列表数据
如果返回list,数据太多了,自定义一个方法,不返回list,只返回条数信息等。
pageInfo报文格式
PageInfo{pageNum=1, pageSize=10, size=10, startRow=1, endRow=10, total=516, pages=52, prePage=0, nextPage=2, isFirstPage=true, isLastPage=false, hasPreviousPage=false, hasNextPage=true, navigatePages=8, navigateFirstPage=1, navigateLastPage=8, navigatepageNums=[1, 2, 3, 4, 5, 6, 7, 8]}
pageHelper的默认用法(mybatis自带)
如果入参中有pageNo(待确定)、pageSize
外层即使没有加PageHelper,分页也是会生效的。
应该是mybatis自带分页参数。