博客
关于我
pageHelper分页技术
阅读量:794 次
发布时间:2023-02-26

本文共 2494 字,大约阅读时间需要 8 分钟。

十二,PageHelper分页技术

分页简介

PageHelper 是 MyBatis 中非常方便的第三方分页插件。它能够帮助开发者快速实现分页功能,简化代码编写,同时提供丰富的分页信息,适用于多种分页场景。

分页技术相关名词解释

PageHelper 提供了众多有用的参数和属性来帮助开发者实现分页功能。以下是常见的分页相关参数:

  • pageNum:表示当前页码。
  • pageSize:表示每页的记录数。
  • size:可替代 startRowendRow,用于指定分页的范围。
  • startRowendRow:表示数据库中查询的起始和结束行号。
  • total:表示总记录数。
  • pages:表示总页数。
  • list:查询结果集合。
  • prePagenextPage:表示前一页和下一页的页码。
  • isFirstPageisLastPage:表示是否为第一页或最后一页。
  • hasPreviousPagehasNextPage:表示是否存在前一页或下一页。
  • navigatePages:表示导航页码数。
  • navigatepageNums:表示导航条上的页码数组。
  • navigateFirstPagenavigateLastPage:表示导航条的第一页和最后一页。

使用步骤

  • 导入依赖:在项目的 pom.xml 文件中添加 PageHelper 的依赖。
  • 配置分页插件:根据使用的框架(MyBatis 或 Spring MVC)配置 PageHelper。
    • MyBatis:在全局配置文件中添加 PageHelper 插件。
    • Spring MVC:在 Spring 的配置文件中配置 PageHelper。
  • 使用 PageHelper 进行分页:在查询之前调用 PageHelper.startPage 方法,传入页码和每页大小。
  • 使用 PageInfo 封装结果:PageInfo 类能提供更详细的分页信息,方便前端展示。
  • 具体使用

    实际案例:订单分页查询

    1. 在父项目 pom.xml 中添加依赖

    com.github.pagehelper
    pagehelper
    5.1.2

    2. 配置分页插件

    • MyBatis 全局配置文件
    • Spring MVC 配置文件
    params=value1
    • 控制层代码示例
    @RequestMapping("/emps")@ResponseBodypublic Msg getEmpsWithJson(@RequestParam(value = "pn", defaultValue = "1") Integer pn) {    PageHelper.startPage(pn, 5);    List
    emps = employeeService.getAll(); PageInfo page = new PageInfo(emps, 5); return Msg.success().add("pageInfo", page);}@RequestMapping("/emps")public String getEmps(@RequestParam(value = "pn", defaultValue = "1") Integer pn, Model model) { PageHelper.startPage(pn, 5); List
    emps = employeeService.getAll(); PageInfo page = new PageInfo(emps, 5); model.addAttribute("pageInfo", page); return "list";}

    页面展示示例

    当前 【${pageInfo.pageNum }】 页,总 【${pageInfo.pages }】 页,总 【${pageInfo.total }】 条记录

    MyBatis 后续学习

    • MyBatis 概述
    • MyBatis 配置文件详解
    • MyBatis 事务管理
    • MyBatis 动态 SQL
    • MyBatis 多表查询
    • MyBatis 延迟加载
    • MyBatis 缓存机制
    • MyBatis 注解开发版
    • MyBatis 逆向工程使用

    转载地址:http://djvfk.baihongyu.com/

    你可能感兴趣的文章
    OSG学习:OSG组成(二)——渲染状态和纹理映射
    查看>>
    OSG学习:WIN10系统下OSG+VS2017编译及运行
    查看>>
    OSG学习:人机交互——普通键盘事件:着火的飞机
    查看>>
    OSG学习:几何体的操作(一)——交互事件、简化几何体
    查看>>
    OSG学习:几何体的操作(二)——交互事件、Delaunay三角网绘制
    查看>>
    OSG学习:几何对象的绘制(一)——四边形
    查看>>
    OSG学习:几何对象的绘制(三)——几何元素的存储和几何体的绘制方法
    查看>>
    OSG学习:几何对象的绘制(二)——简易房屋
    查看>>
    OSG学习:几何对象的绘制(四)——几何体的更新回调:旋转的线
    查看>>
    OSG学习:场景图形管理(一)——视图与相机
    查看>>
    OSG学习:场景图形管理(三)——多视图相机渲染
    查看>>
    OSG学习:场景图形管理(二)——单窗口多相机渲染
    查看>>
    OSG学习:场景图形管理(四)——多视图多窗口渲染
    查看>>
    OSG学习:新建C++/CLI工程并读取模型(C++/CLI)——根据OSG官方示例代码初步理解其方法
    查看>>
    Sql 随机更新一条数据返回更新数据的ID编号
    查看>>
    OSG学习:空间变换节点和开关节点示例
    查看>>
    OSG学习:纹理映射(一)——多重纹理映射
    查看>>
    OSG学习:纹理映射(七)——聚光灯
    查看>>
    OSG学习:纹理映射(三)——立方图纹理映射
    查看>>
    OSG学习:纹理映射(二)——一维/二维/简单立方图纹理映射
    查看>>