ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MyBatis-分页插件

2022-09-02 23:02:33  阅读:174  来源: 互联网

标签:插件 pageNum 分页 pageSize list MyBatis 页码 PageInfo


分页插件的使用步骤

1. 添加依赖

<dependency>
  <groupId>com.github.pagehelper</groupId>
  <artifactId>pagehelper</artifactId>
  <version>5.2.0</version>
</dependency>

2. 配置分页插件(mybatis-config.xml)

<plugins>
  <!--配置分页插件-->
  <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>

3.  分页插件的使用

1) 在查询功能之前使用PageHelper.startPage(int pageNum, int pageSize)开启分页功能

  pageNum:当前页的页码

  pageSize:每页显示的条数

2) 在查询获取list集合之后,使用PageInfo pageInfo = new PageInfo<>(List list, int navigatePages)获取分页相关数据

  list:分页之后的数据

  navigatePages:导航分页的页码数

3) 分页相关数据

@Test
public void testPage(){
  SqlSession sqlSession = SqlSessionUtil.getSqlSession();
  EmpMapper mapper = sqlSession.getMapper(EmpMapper.class);
  //查询功能之前开启分页功能
  Page<Object> page = PageHelper.startPage(5, 4);
  List<Emp> list = mapper.selectByExample(null);
  //查询功能之后可以获取分页相关的所有数据
  PageInfo<Emp> pageInfo = new PageInfo<>(list, 5);
  list.forEach(System.out::println);
  System.out.println(pageInfo);
}

 

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]

标签:插件,pageNum,分页,pageSize,list,MyBatis,页码,PageInfo
来源: https://www.cnblogs.com/Joyce-mi7/p/16651586.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有