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

    你可能感兴趣的文章
    os.path.join、dirname、splitext、split、makedirs、getcwd、listdir、sep等的用法
    查看>>
    os.removexattr 的 Python 文档——‘*‘(星号)参数是什么意思?
    查看>>
    os.system 在 Python 中不起作用
    查看>>
    OS2ATC2017:阿里研究员林昊畅谈操作系统创新与挑战
    查看>>
    OSCACHE介绍
    查看>>
    SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum
    查看>>
    OSChina 周五乱弹 ——吹牛扯淡的耽误你们学习进步了
    查看>>
    SQL--mysql索引
    查看>>
    OSChina 周四乱弹 ——程序员为啥要买苹果手机啊?
    查看>>
    OSChina 周日乱弹 —— 2014 年各种奇葩评论集合
    查看>>
    OSChina 技术周刊第十期,每周技术抢先看!
    查看>>
    OSError: no library called “cairo-2“ was foundno library called “cairo“ was foundno library called
    查看>>
    OSError: [WinError 193] %1 不是有效的 Win32 应用程序。
    查看>>
    osgearth介绍
    查看>>
    OSGi与Maven、Eclipse PlugIn的区别
    查看>>
    Osgi环境配置
    查看>>
    OSG——选取和拖拽
    查看>>
    OSG中找到特定节点的方法(转)
    查看>>
    OSG学习:C#调用非托管C++方法——C++/CLI
    查看>>
    OSG学习:OSG组成(三)——组成模块(续):OSG核心库中的一些类和方法
    查看>>