博客
关于我
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/

    你可能感兴趣的文章
    OpenCV与AI深度学习 | 基于OpenCV和深度学习预测年龄和性别
    查看>>
    OpenCV与AI深度学习 | 基于Python和OpenCV将图像转为ASCII艺术效果
    查看>>
    OpenCV与AI深度学习 | 基于PyTorch实现Faster RCNN目标检测
    查看>>
    OpenCV与AI深度学习 | 基于PyTorch语义分割实现洪水识别(数据集 + 源码)
    查看>>
    OpenCV与AI深度学习 | 基于YOLOv8的停车对齐检测
    查看>>
    OpenCV与AI深度学习 | 基于机器视觉的磁瓦表面缺陷检测方案
    查看>>
    Opencv中KNN背景分割器
    查看>>
    OpenCV中基于已知相机方向的透视变形
    查看>>
    opencv之模糊处理
    查看>>
    opencv保存图片路径包含中文乱码解决方案
    查看>>
    opencv图像分割2-GMM
    查看>>
    OpenCV学习(13) 细化算法(1)(转)
    查看>>
    opencv笔记(1):图像缩放
    查看>>
    OpenCV(1)读写图像
    查看>>
    OpenCV:概念、历史、应用场景示例、核心模块、安装配置
    查看>>
    Openlayers Source基础及重点内容讲解
    查看>>
    openlayers 入门教程(八):Geoms 篇
    查看>>
    Openlayers中点击地图获取坐标并输出
    查看>>
    Openlayers图文版实战,vue项目从0到1做基础配置
    查看>>
    Openlayers实战:modifystart、modifyend互动示例
    查看>>