1.pom.xml引入依赖
- <dependency>
- <groupId>com.github.pagehelper</groupId>
- <artifactId>pagehelper</artifactId>
- <version>5.1.11</version>
- </dependency>
复制代码 2.mybatis-config.xml配置分页插件
在 MyBatis 的配置文件中添加 PageHelper 的插件:- <plugins>
- <plugin interceptor="com.github.pagehelper.PageInterceptor">
- <property name="helperDialect" value="mysql"/>
- </plugin>
- </plugins>
复制代码注意:
com.github.pagehelper.PageInterceptor 是 PageHelper 插件的名称,helperDialect 属性用于指定数据库类型(支持多种数据库)
3.分页插件使用
在查询方法中使用分页:- @Test
- @Test
- public void testPage(){
- SqlSession sqlSession = sqlSessionUtil.getSqlSession();
- EmpMapper mapper = sqlSession.getMapper( EmpMapper.class);
- //TODO:注意不能将两条及以上查询语句加到分页区
- //查诲功能之前开启分页功能
- Page<object> page = PageHelper.startPage( pageNum: 1,pageSize: 4);
- List<Emp> list = mapper.selectByExample(nu1l);
- //查询功能之后可以获取分页相关的所有数据
- PageInfo<Emp> pageInfo = new PageInfo<>(list, navigatePages: 5);
- list.forEach(System.out::println);
- System.out.println("总记录数:" + pageInfo.getTotal());
- System.out.println("总页数:" + pageInfo.getPages());
- System.out.println("当前页码:" + pageInfo.getPageNum());
- System.out.println("每页显示的记录数:" + pageInfo.getPageSize());
- System.out.println(pageInfo);
- }
复制代码 4.分页相关数据描述
- 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, 导航分页的页码数
- navigateFirstPage=4, 导航分页的首位页码
- navigateLastPage=8, 导航分页的末尾页码
- navigatepageNums=[4, 5, 6, 7, 8] 导航分页的页码
- }
- 常用数据:
- pageNum:当前页的页码
- pageSize:每页显示的条数
- size:当前页显示的真实条数
- total:总记录数
- pages:总页数
- prePage:上一页的页码
- nextPage:下一页的页码
- isFirstPage/isLastPage:是否为第一页/最后一页
- hasPreviousPage/hasNextPage:是否存在上一页/下一页
- navigatePages:导航分页的页码数
- navigatepageNums:导航分页的页码,[1,2,3,4,5]
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |