PageHelper分页插件使用

2023-10-27

分页插件PageHelper:

MyBatis没有分页功能,需要手动编写LIMIT语句,可以使用第三方的插件来对功能进行扩展,分页助手PageHelper是将分页的复杂操作进行封装,使用简单的方式即可获得分页的相关数据

PageInfo:

PageInfo常用方法:

方法 说明
getTotal() 获取总条数
getPages() 获取总页数
getPageNum() 获取当前页
getPageSize() 获取每页显示条数
getPrePage() 获取上一页
getNextPage() 获取下一页
isIsFirstPage() 获取是否是第一页
isIsLastPage() 获取是否是最后一页
演示:
  1. 导入与PageHelper的jar包
  2. 在mybatis核心配置文件中配置PageHelper插件
    <!--分页查询-->
    <plugins>
        <!-- com.github.pagehelper为PageHelper类所在包名 -->
        <plugin interceptor="com.github.pagehelper.PageInterceptor">
            <!-- 使用MySQL方言的分页 -->
            <property name="helperDialect" value="mysql"/>
            <property name="pageSizeZero" value="true"/>
        </plugin>
    </plugins>
  1. 测试分页数据获取
 @Test
    public void selectPaging() throws Exception{
        //1.加载核心配置文件
        InputStream is = Resources.getResourceAsStream("MyBatisConfig.xml");

        //2.获取SqlSession工厂对象
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);

        //3.通过工厂对象获取SqlSession对象
        SqlSession sqlSession = sqlSessionFactory.openSession(true);

        //4.获取StudentMapper接口的实现类对象
        StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);

        //通过分页助手来实现分页功能
        // 第一页:显示3条数据
        //PageHelper.startPage(1,3);
        // 第二页:显示3条数据
        //PageHelper.startPage(2,3);
        // 第三页:显示3条数据
        PageHelper.startPage(1,3);

        //5.调用实现类的方法,接收结果
        List<Student> list = mapper.selectAll();

        //6.处理结果
        for (Student student : list) {
            System.out.println(student);
        }

        //获取分页相关参数
        PageInfo<Student> info = new PageInfo<>(list);
        System.out.println("总条数:" + info.getTotal());
        System.out.println("总页数:" + info.getPages());
        System.out.println("当前页:" + info.getPageNum());
        System.out.println("每页显示条数:" + info.getPageSize());
        System.out.println("上一页:" + info.getPrePage());
        System.out.println("下一页:" + info.getNextPage());
        System.out.println("是否是第一页:" + info.isIsFirstPage());
        System.out.println("是否是最后一页:" + info.isIsLastPage());

        //7.释放资源
        sqlSession.close();
        is.close();
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PageHelper分页插件使用 的相关文章

随机推荐

  • CSS旋转的环形文字效果

  • 微积分

    对于微积分已经是过去式了 早就不知道说的是什么了 今天学习一波 微积分 Calculus 微积分是高等数学中研究函数的微分 积分以及有关概念和应用的数学分支 它是数学的一个基础学科 内容主要包括极限 微分学 积分学及其应用 微分学包括求导数
  • 利用Puppeteer实现验证码网站登录

    Puppeteer puppeteer是由Google官方推出的一个node库 可以启动Chromium浏览器模拟人为操作 类似于PhantomJS 这为爬虫和自动化测试提供了便利 流程 登录流程很简单 启动puppeteer打开目标网站
  • ABAP 传入数据到EXCEL自编函数

    DATA excel TYPE ole2 object workbook TYPE ole2 object sheet TYPE ole2 object cell TYPE ole2 object column TYPE ole2 obje
  • Servlet 清除Cookie 方法

    一 删除已知名称的Cookie 方案 重新建立同名立即删除类型的Cookie Cookie newCookie new Cookie username null 假如要删除名称为username的Cookie newCookie setMa
  • 工作流简介及其6种常用的工作流引擎

    先说说四个非PetriNet调度算法的开源引擎 4 OBE的引擎调度机制 4 Shark的引擎调度机制 5 OSWorkflow的引擎执行机制 6 JBpm的引擎执行机制 6 再说说两个PetriNet调度算法的开源引擎 9 YAWL的引擎
  • 图说函数模板右值引用参数(T&&)类型推导规则(C++11)

    图说函数模板右值引用参数 T 类型推导规则 C 11 见下图 规律总结 只要我们传递一个基本类型是A 的左值 那么 传递后 T的类型就是A 形参在函数体中的类型就是A 只要我们传递一个基本类型是A的右值 那么 传递后 T的类型就是A 形参在
  • 解析Cloudsim中,获取SLA指标的函数:getSlaMetrics()

    protected static Map
  • 如何使用 Humata.ai:快速理解和总结文献

    链接 Humata 简介 Humata ai 是一个人工智能驱动的文献阅读助手 可以帮助用户快速理解和总结文献 它可以提取文献的关键信息 并以简洁易懂的语言生成摘要 此外 Humata ai 还可以回答用户关于文献的问题 帮助用户深入理解文
  • 选择一家公司看哪些条件

    1 薪资 公司谈的工资都是税前 一般我会认为年薪工资指的就是一年的税前收入 如果有加班费可以把加班费也算上 每月加班时间是有上限的 可以根据个人习惯计算 然后是年终奖 则税前年薪 税前基本工资 加班费 年终奖 你看工资银行卡一年的薪资到账记
  • xcode报错:Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/b

    今天使用xcode编译工程发现一个问题 这里记录一下防止忘记 xcode报错 Command Applications Xcode app Contents Developer Toolchains XcodeDefault xctoolc
  • 本地部署Stable Diffusion

    效果 遇到的坑 报错 RuntimeError LayerNormKernelImpl not implemented for Half 解决方案 产生报错的原因是因为显卡不支持half float的数据类型 所以在启动项set COMMA
  • 微信小程序(由浅到深)

    文章目录 一 项目基本配置 1 项目组成 2 常见的配置文件解析 3 app json全局的五大配置 4 单个页面中的page配置 5 App函数 6 tabBar配置 二 基本语法 事件 单位 1 语法 2 事件 3 单位 三 数据响应式
  • python语法-pyspark实战(数据输入)

    python语法 pyspark实战 数据输入 1 演示通过pyspark代码加载python对象数据 基本数据结构 转为RDD对象 即数据输入 parallelize 方法 演示通过pyspark代码加载数据 即数据输入 from pys
  • varchar2 汉字长度问题

    转载于 https www cnblogs com yangxia test archive 2013 08 07 3242775 html Oracle定义varchar2 类型存储汉字的长度问题 varchar2最大是4000字节 那么
  • 使用 Iptables 命令详细图文教程

    目录 一 防火墙管理工具 二 Iptables 2 1 策略与规则链 2 2 基本的命令参数 2 2 1 在 iptables 命令后添加 L 参数查看已有的防火墙规则链 2 2 2 在 iptables 命令后添加 F 参数清空已有的防火
  • 【Altium designer】定义PCB外形并开槽

    1 PCB自定义外形 项目中经常会用到异形的PCB 需要先在keep out画出PCB外形 也可以直接从cad里面导到AD里面 要注意单位长度的转换 然后框选中keep out的线条 按下快捷键D S D 设计 gt 板子形状 gt 按照选
  • python-爬虫 抓取美食板块商家数据

    import pprint import requests import csv import re url http meishi meituan com i api channel deal list headers User Agen
  • 【odoo15】给用户设置菜单可见的权限与权限组

    设置mykid菜单的可见权限 设置权限后 操作方法 设置 gt 用户和公司 gt 组群 gt 创建组群 test group 技术 gt 用户界面 菜单项目 gt 搜索要添加到组群的菜单 mykid 把用户添加到组群中 刷新后admin这个
  • PageHelper分页插件使用

    分页插件PageHelper MyBatis没有分页功能 需要手动编写LIMIT语句 可以使用第三方的插件来对功能进行扩展 分页助手PageHelper是将分页的复杂操作进行封装 使用简单的方式即可获得分页的相关数据 PageInfo Pa