分页--PageHelper的使用

摘要:
实现方法是以插件的形式加强Mybatis的执行过程,增加总计数和限制查询。

POM依赖

<dependency>
      <groupId>com.github.pagehelper</groupId>
      <artifactId>pagehelper</artifactId>
      <version>5.2.0</version>
 </dependency>

Mybatis配置文件

<plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor">
            <property name="helperDialect" value="mysql"/>
        </plugin>
    </plugins>

Servlet代码示例

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String page = request.getParameter("page");
        String size = request.getParameter("size");
        StudentService studentService = new StudentServiceImpl();
        PageHelper.startPage(page == null ? 1:Integer.parseInt(page),size == null ? 4:Integer.parseInt(size));
        List<Student> list = studentService.findAllStudent();
        PageInfo pageInfo = PageInfo.of(list);
        response.getWriter().println(new ObjectMapper().writeValueAsString(pageInfo));
    }

1、PageHelper的优点是,分页和Mapper.xml完全解耦。实现方式是以插件的形式,对Mybatis执行的流程进行了强化,添加了总数count和limit查询。属于物理分页。

2、Page page = PageHelper.startPage(pageNum, pageSize, true); - true表示需要统计总数,这样会多进行一次请求select count(0); 省略掉true参数只返回分页数据。

参考:

https://www.cnblogs.com/kangoroo/p/7998433.html

免责声明:文章转载自《分页--PageHelper的使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Docker使用:利用宝塔面板Docker管理器快速搭建PHP、Java、Python、nodejs等配套运行环境R语言-处理异常值或报错的三个示例下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C# MVC分页简单介绍

ASP.NET MVC中进行分页的方式有多种,这里介绍一种简单实用的方法 一:在实现分页之前,先添加“PagedList”和“PagedList.Mvc”两个组件,具体下载直接在NuGet程序包里收索安装就行 二:(1)数据源,实现分页的前提除了必要组件我们还要有数据源,我这里是直接从数据库里获取的数据;   (2)分页处理,分页逻辑中有分页索引,分页条...

[转]Oracle中使用Rownum分页详细例子

原文地址:http://www.jb51.net/article/52272.htm 在MySQL中,我们通常都使用limit来完成数据集获取的分页操作,而在Oracle数据库中,并没有类似limit一样的方便方法来实现分 页,因此我们通常都是直接在SQL语句中完成分页,这里就需要借助于rownum伪列或row_number()函数了,本文将分别展示使用...

Django中的分页

分页是Web常用的一种手法,但是我们后端想要练习的时候,需要怎么样才能使用分页呢?Django框架提供了一个分页器,Paginator,可以很轻松的完成分页功能。该功能有两个构造参数,一个是数据集合,另一个是每页存放多少条数据。Paginator的基本操作如下: 1、导包 from django.core.paginator import Paginato...

js打印窗口内容并当窗口内容较长时自动分页

项目环境Angular: 方法1、window.print() HTML页面上的代码: <div id="tenementBillTable" class="dialog-content"> <div *ngFor="let item of dataList" class="table-container">...

WinForm界面开发之“分页控件”

在程序中,分页总是永远的话题,因为数据总是很多很多,分页展示在程序性能和数据查看感官方面得到很好的平衡,是一种良好的编程习惯和UI设计。 Winform中的分页控件可能没有Asp.net世界中的分页控件那么丰富多彩,不过也有不少的分页控件可以采用,各个人的可能都有一些不同的东西,一些好的东西。就我而言,我希望控件能够尽可能的多一些功能,耦合性低一些,例如我...

Vue|分页处理

一、前言 在我们做前端开发时,经常对查询到的列表数据进行分页处理,那么,vue是怎么处理的呢 二、具体步骤   1、在具体模块的xxx.vue的data定义相关变量   2、在对应的xxx.js的获取列表方法稍微做修改,传参加上大括号 {}    3、把一个分页的UI组件,添加到表格的下方 这里就拿vuetify的其中一种分页UI组件来演示 传送门...