Mybatis中的分页插件

这篇具有很好参考价值的文章主要介绍了Mybatis中的分页插件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一.为什么要使用分页插件?

二.分页常用标签

三.分页插件的使用

        1.在mybatis的pom中添加分页插件依赖

        2.在mybatis-config.xml中创建分页插件

3.在test文件中进行查询操作的时候,开启分页功能

       PageInfo<>()

        PageHelper.startPage();

总结:


一.为什么要使用分页插件?

  • 不必再利用Web中的link来获取刷新下一页 
  • 分页插件可以通过标签显示各种page信息
  • 分页插件可以帮助我们更好的获取page信息
  • 上一页和下一页和首页和尾页都能够轻松的获取到

二.分页常用标签

limit (index,pageSize)
pageSize:每页显示的条数
pageNum:每页的页码
index:当前页的起始索引,index=(pageNum-1)*pageSize
count:总记录数
totalpage:总页数
totalPage:count/pageSize
if(count%pageSize !=0){
​​​​​​​totalpage +=1;
}
举例
pageSize=4,pageNum=1,index=0 limit (0,4)
pageSize=4,pageNum=3,index=8 limit (8,4)
pageSize=4,pageNum=6,index=20 limit (20,4)

三.分页插件的使用

1.在mybatis的pom中添加分页插件依赖

<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.在test文件中进行查询操作的时候,开启分页功能

操作如下:

1.查询操作

   @Test
    public void selectPageTest() {
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        EmpMapper mapper = sqlSession.getMapper(EmpMapper.class);//获取映射方法
        Page<Object> objects = PageHelper.startPage(1, 6);       //创建分页插件对象
        List<Emp> list = mapper.selectByExample(null);           //查询对象
        list.forEach(System.out::println);
        System.out.println(objects);
    }

2. 查询结果如下

//查询打印查询的信息信息
Page{count=true,pageNum=1,pageSize=6,startRow=0,endRow=6,total=9,
pages=2,reasonable=false,pageSizeZero=false}
[Emp{empId=3, empName='罗日彬', age=20, gender='男', deptId=1}, 
Emp{empId=4, empName='赵层', age=20, gender='男', deptId=2}, 
Emp{empId=5, empName='孙众', age=20, gender='男', deptId=3}, 
Emp{empId=6, empName='成求2', age=20, gender='男', deptId=null}, 
Emp{empId=7, empName='成求3', age=20, gender='男', deptId=null}, 
Emp{empId=8, empName='成求4', age=20, gender='男', deptId=null}]

 3.使用     PageInfo<Emp> pageInfo = new PageInfo<Emp>(list, 1)

显示上一页和下一页,以及自己所处的那一页,更方便作者使用

@Test
    public void selectPageTest() {
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        EmpMapper mapper = sqlSession.getMapper(EmpMapper.class);
        Page<Object> objects = PageHelper.startPage(1, 6);
        List<Emp> list = mapper.selectByExample(null);
//        list.forEach(System.out::println);
//        System.out.println(objects);
        PageInfo<Emp> pageInfo = new PageInfo<Emp>(list, 1);
        System.out.println(pageInfo);
    }

4.查询结果如下

PageInfo{pageNum=1,pageSize=6,size=6,startRow=1,endRow=6,total=9,pages=2,
list=Page{count=true, pageNum=1, pageSize=6, startRow=0, endRow=6, total=9,pages=2,reasonable=false, pageSizeZero=false}
[ Emp{empId=3, empName='罗日彬', age=20, gender='男',deptId=1},
  Emp{empId=4, empName='赵层', age=20, gender='男', deptId=2},
  Emp{empId=5,empName='孙众', age=20, gender='男', deptId=3},
  Emp{empId=6, empName='成求2',age=20,gender='男', deptId=null}, 
  Emp{empId=7, empName='成求3', age=20, gender='男', deptId=null},
  Emp{empId=8, empName='成求4', age=20, gender='男', deptId=null} ]
prePage=0,nextPage=2,isFirstPage=true,isLastPage=false,
hasPreviousPage=false,hasNextPage=true,
navigatePages=1,navigateFirstPage=1,
navigateLastPage=1, navigatepageNums=[1]}

最终显示信息为:

pageNum:当前页的页码
pageSize:每页显示的条数
size:当前页显示的真实条数
total:总记录数
pages:总页数
prePage:上一页的页码
nextPage:下一页的页码
isFirstPage/isLastPage:是否为第一页/最后一页
hasPreviousPage/hasNextPage:是否存在上一页/下一页
navigatePages:导航分页的页码数
navigatepageNums:导航分页的页码,[1,2,3,4,5]

 文章来源地址https://www.toymoban.com/news/detail-412002.html

总结:

  • 根据分页插件能更好的获取到页面的信息
  • 根据分页插件能减少web中的link操作,就避免的跳转的麻烦
  • 使用分页插件功能,获取页面信息更加的准确

到了这里,关于Mybatis中的分页插件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot整合MyBatis四种常用的分页方式

    目录 方式1 一、准备工作 1. 创建表结构 2. 导入表数据 3. 导入pom.xml依赖 4. 配置application.yml文件 5. 创建公用的实体类 项目结构 2. 创建controller层 3. 创建service层  4. 创建mapper层  5. 创建xml文件  6. 使用postman进行测试,测试结果如下 1. 项目整体结构 1. 创建controller层 2. 创建Se

    2024年04月13日
    浏览(27)
  • java springboot整合MyBatis实现分页查询以及带条件的分页查询

    之前的文章 java springboot整合MyBatis做数据库查询操作操作了springboot整合MyBatis,然后简单做了个按id查询的操作 那么 我们按上文搭建起的环境继续 我们直接在staffDao接口中声明一个分页函数 这里 我们直接在 sql语句中写limit 分页逻辑 参数是方法接收的 这个函数接收两个参数

    2024年02月10日
    浏览(34)
  • jquery 封装的分页插件(包括上一页,下一页,跳转)

    pagnation.js cs.html

    2024年02月06日
    浏览(29)
  • Elasticsearch - 闲聊ElasticSearch中的分页

    ElasticSearch是一款强大的搜索引擎,它能够帮助我们快速地搜索海量数据。然而,在处理大量数据时,ElasticSearch的性能可能会受到影响。其中一个常见的问题是深度分页,也就是当我们需要获取大量数据时,ElasticSearch需要处理的数据量太大,导致性能下降。 Elasticsearch 深度分

    2024年02月11日
    浏览(29)
  • 【定时任务处理中的分页问题】

    最近要做一个定时任务处理的需求,在分页处理上。发现了大家容易遇到的一些\\\"坑\\\",特此分析记录一下。 场景 现在想象一下这个场景,你有一个定时处理任务,需要查询数据库任务表中的所有待处理任务,然后进行处理。 举个例子:生成用户的月度账单,并且要尽可能确

    2024年02月12日
    浏览(38)
  • Android Jetpack Compose 中的分页与缓存展示

    在几乎任何类型的移动项目中,移动开发人员在某个时候都会处理分页数据。如果数据列表太大,无法一次从服务器检索完毕,这就是必需的。因此,我们的后端同事为我们提供了一个端点,返回分页数据列表,并期望我们知道如何在客户端处理它。 在本文中,我们将重点介

    2024年02月13日
    浏览(31)
  • MyBatis分页插件

    分页插件使用。 添加依赖 配置分页插件 在MyBatis的核心配置文件(mybatis-config.xml)中配置插件 开启分页功能 在查询功能之前使用 PageHelper.startPage(int pageNum, int pageSize) 开启分页功能 pageNum:当前页的页码 pageSize:每页显示的条数 分页相关数据 方法一:直接输出 分页相关数据

    2024年02月09日
    浏览(32)
  • 十二、MyBatis分页插件

    1. 添加依赖 2. 配置分页插件 在MyBatis的核心配置文件中配置插件 3. 在查询接口之前写上 在查询功能之前使用 PageHelper.startPage(int pageNum, int pageSize) 开启分页功能 pageNum :当前页的页码 pageSize :每页显示的条数 在查询获取list集合之后,使用PageInfoT pageInfo = new PageInfo(ListT list,

    2024年02月03日
    浏览(27)
  • Mybatis(七):分页插件

    本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远! Mybatis 是一款非常流行的持久层框架,可以帮助我们轻松地实现数据库操作和数据访问。在 Mybatis中

    2024年01月16日
    浏览(25)
  • Mybatis 分页插件 PageHelper

    今天记录下 Mybatis 分页插件 pageHelper 的使用。 有一个员工表(employee),现在要使用 pageHelper 插件实现员工的分页查询。 Employee employee类定义代码如下 EmployeeDTO EmployeeDTO定义代码如下 PageResult 最后返回给前端的数据封装在 PageResult 类中, PageHelper 类定义如下: EmployeePageQueryDTO 分

    2024年01月19日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包