Java – MyBatis 分页插件pagehelper
简介
分页功能是一个非常繁锁的问题,需要判断首页,尾页,所在页的前后两页的页码,实现起来非常麻烦,Mybatis作为一个数据库查询工具必然会预到分页页码的问题。
分页插件
添加依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.2.0</version>
</dependency>
配置分页插件
在MyBatis的核心配置文件中配置插件
// 在mybatis-config.xml 文件中加入拦截器
<plugins>
<!--设置分页插件-->
<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>
分页插件的使用
1> 在查询功能之前使用PageHelper.startPage(int pageNum, int pageSize)开启分页功能
pageNum:当前页的页码
pageSize:每页显示的条数
SqlSession sqlSession = SqlSessionUtil.getSqlSession();
EmpMapper mapper = sqlSession.getMapper(EmpMapper.class);
// 在执行 mapper 接口前设置页码数据,通过返回值可以获得Page基本页码信息
Page<Object> page = PageHrlper.startPage(页码数, 一页记录数)
List<Emp> empsFromDeptId = mapper.getEmpsFromDeptId(1);
Page 页码信息可查看分页相关数据
b>在查询获取list集合之后,使用PageInfo<T> pageInfo = new PageInfo<>(List<T> list, int navigatePages)获取分页相关数据
list:分页之后的数据
navigatePages:在页面中显示导航分页的页数,比如5,则在页面中一定会显示5个页码,如当前页是4,则必定显示【2 3 4 5 6】
SqlSession sqlSession = SqlSessionUtil.getSqlSession();
EmpMapper mapper = sqlSession.getMapper(EmpMapper.class);
// 开启分页功能
PageHelper.startPage(页码数, 一页记录数);
// 获取记录总数
List<Emp> empsFromDeptId = mapper.getEmpsFromDeptId(1);
// 把记录总数和当前的页码传进去,获得以当前页码为中心的页码信息,和当前页码的数据
PageInfo<Emp> pageinfo = new PageInfo<>(查询数据List, 当前导航页码)
PageInfo 页码信息可查看分页相关数据
c>分页相关数据
PageInfo{
pageNum=8, pageSize=4, size=2, startRow=29, endRow=30, total=30, pages=8,
list=Page{count=true, pageNum=8, pageSize=4, startRow=28, endRow=32, total=30,
pages=8, reasonable=false, pageSizeZero=false},
prePage=7, nextPage=0, isFirstPage=false, isLastPage=true, hasPreviousPage=true,
hasNextPage=false, navigatePages=5, navigateFirstPage4, navigateLastPage8,
navigatepageNums=[4, 5, 6, 7, 8]
}
pageNum:当前页的页码
pageSize:每页显示的条数
size:当前页显示的真实条数
total:总记录数
pages:总页数
prePage:上一页的页码
nextPage:下一页的页码
isFirstPage/isLastPage:是否为第一页/最后一页
hasPreviousPage/hasNextPage:是否存在上一页/下一页
navigatePages:导航分页的页码数
navigatepageNums:导航分页的页码,[1,2,3,4,5]
THE END
0
二维码
打赏
海报
Java – MyBatis 分页插件pagehelper
简介
分页功能是一个非常繁锁的问题,需要判断首页,尾页,所在页的前后两页的页码,实现起来非常麻烦,Mybatis作为一个数据库查询工具必然会预到分页页码的问题。
分页插件
添加依赖
&……
TZMing花园 - 软件分享与学习
共有 0 条评论