使用Mybatis的PageHelper分页工具的教程详解

1、导入相关的jar包
在pom.xm中加入

<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper -->
  <dependency>
   <groupId>com.github.pagehelper</groupId>
   <artifactId>pagehelper</artifactId>
   <version>5.1.10</version>
  </dependency>

2、在Mybatis的配置文件mybatis-config.xml中加入以下代码

<plugins>
    <!-- com.github.pagehelper为PageHelper类所在包名 -->
    <plugin interceptor="com.github.pagehelper.PageInterceptor">
      <!-- 使用下面的方式配置参数,后面会有所有的参数介绍 -->
      <property name="reasonable" value="true"/>
    </plugin>
  </plugins>

在controller中编写代码引用

 @RequestMapping(value = "/emps")
   public String GetEmployees(@RequestParam(value = "pn",
      defaultValue ="1")Integer pn , Model model){

    PageHelper.startPage(pn,8);
    List<Employee> employeeslist = employeeService.GetEmployees();
    PageInfo page = new PageInfo(employeeslist,7);
    model.addAttribute("pageinfo",page);
    return "list";
  }

PS:下面看下PageHelper的简单使用(强大的分页工具)

1.使用maven解决依赖

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

2.在Controller调用Service的时候,调用PageHelper

@RequestMapping("/sysadmin/dept/list")
 public String toDeptList(Model model,@RequestParam(required = false,defaultValue = "1",value = "pn")Integer pn ) {
 PageHelper.startPage(pn, 8);
 List<Dept> deptList = deptService.findAll();
 PageInfo<Dept> p = new PageInfo<>(deptList);
 model.addAttribute("deptList", deptList);
 model.addAttribute("page", p);
 return "sysadmin/dept/jDeptList";

 }

PageHelper.startPage(pn, 8);     //参数分别是设置当前的页数和每页的数量

PageInfo<Dept>  p = new PageInfo<>(deptList);  //将得到查询结果集进行封装

3.在jsp页面进行简单的分页

<a href="/sysadmin/dept/list?pn=${page.firstPage}" rel="external nofollow" >首页</a>
<c:if test="${page.hasPreviousPage}"><a href="/sysadmin/dept/list?pn=${page.prePage}" rel="external nofollow" >上一页</a></c:if>
<c:if test="${!page.hasPreviousPage}">上一页</c:if>

<c:if test="${page.hasNextPage}"><a href="/sysadmin/dept/list?pn=${page.nextPage}" rel="external nofollow" >下一页</a></c:if>
<c:if test="${! page.hasNextPage}">下一页</c:if>

<a href="/sysadmin/dept/list?pn=${page.lastPage}" rel="external nofollow" >最后页</a>
<p>一共${page.pages}页 --当前页是${page.pageNum } -- 共有${page.total }条数据</p>

简单的进行了调用,实现了基本的功能(使用pageInfo的相关属性)

总结

到此这篇关于使用Mybatis的PageHelper分页工具的教程详解的文章就介绍到这了,更多相关Mybatis的PageHelper分页工具内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringMvc+Mybatis+Pagehelper分页详解

    最近公司需要做一个告警页面的功能,需要分页,查了很多资料发现PageHelper比较合适 故写一篇从零开始的PageHelper使用的教程,也记录下忙活一天的东西 1.首先需要在项目中添加PageHelper的依赖,这里我用的Maven添加 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>

  • mybatis分页插件pageHelper详解及简单实例

    mybatis分页插件pageHelper详解及简单实例 工作的框架spring springmvc mybatis3 首先使用分页插件必须先引入maven依赖,在pom.xml中添加如下 <!-- 分页助手 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>3.7.5

  • SpringBoot集成MyBatis的分页插件PageHelper实例代码

    昨天给各位总结了本人学习springboot整合mybatis第一阶段的一些学习心得和源码,主要就算是敲了一下SpringBoot的门儿,希望能给各位的入门带给一点儿捷径,今天给各位温习一下MyBatis的分页插件PageHelper和SpringBoot的集成,它的使用也非常简单,开发更为高效.因为PageHelper插件是属于MyBatis框架的,所以相信很多哥们儿都已经用烂了,下面带着各位吃一下回头草. 首先说说MyBatis框架的PageHelper插件吧,它是一个非常好用的分页插件,通

  • Mybatis分页插件PageHelper的使用详解

    1.说明 如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件. 该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页. 2.使用方法 第一步:在Mybatis配置xml中配置拦截器插件: <plugins> <!-- com.github.pagehelper为PageHelper类所在包名 --> <plugin interceptor="com.github.pageh

  • 使用Mybatis的PageHelper分页工具的教程详解

    1.导入相关的jar包 在pom.xm中加入 <!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.10</ver

  • Mybatis 创建方法、全局配置教程详解

    总体介绍:MyBatis实际上是Ibatis3.0版本以后的持久化层框架[也就是和数据库打交道的框架]! 和数据库打交道的技术有: 原生的JDBC技术--->Spring的JdbcTemplate技术 这些工具都是提供简单的SQL语句的执行,但是和我们这里学的MyBatis框架还有些不同, 框架是一整套的东西,例如事务控制,查询缓存,字段映射等等. 我们用原生JDBC操作数据库的时候都会经过: 编写sql---->预编译---->设置参数----->执行sql------->

  • Spring整合MyBatis(Maven+MySQL)图文教程详解

    一. 使用Maven创建一个Web项目 为了完成Spring4.x与MyBatis3.X的整合更加顺利,先回顾在Maven环境下创建Web项目并使用MyBatis3.X,第一.二点内容多数是回顾过去的内容 . 1.2.点击"File"->"New"->"Other"->输入"Maven",新建一个"Maven Project",如下图所示: 1.2.请勾选"Create a si

  • Webstorm开发工具使用教程详解

    Webstorm使用教程详解,供大家参考,具体内容如下 Webstorm垂直分栏.左右分栏 Webstorm 主题.背景.颜色等设置的导入导出 使用WebStorm开发web前端 网页中文乱码问题的解决方案 ★★★ 特别推荐:最新WebStorm2020.2注册码永久激活(激活到2089年) Webstorm 主题.背景.颜色等设置的导入导出 1.导出设置 2.导入设置 Webstorm垂直分栏,在需要分栏的文件上右击,选着垂直拆分.就可以拖动,形成左右分栏 使用WebStorm开发web前端

  • pagehelper分页工具类的封装

    本文实例为大家分享了pagehelper分页工具类的封装代码,供大家参考,具体内容如下 现状: 在使用Mybatis进行数据库分页查询时,我们经常使用的是插件:pagehelper 此插件可以帮助我们很方便的进行数据库分页操作,但是使用此插件每次都需要先开启插件,然后再手动的对参数进行封装,这些都是模板化的套路,有没有一种更简洁的方法,让我们不在关注具体的分页细节,只需要实现我们的业务逻辑呢?所以接下来我将使用Spring AOP技术,对该工具类进行封装,让我们可以更方便的进行分页操作: 依赖:

  • Mybatis分页插件PageHelper配置及使用方法详解

    环境 框架:spring+springmvc+mybatis pom.xml <!-- 引入mybatis的 pagehelper 分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.2</version> </dependency&g

  • Mybatis第三方PageHelper分页插件的使用与原理

    目录 ​用法 ​原理 PageHelper.startPage做了什么 Page分页信息在哪使用 拦截器 插件 拦截器链 加载&调用拦截器 @Intercepts注解 通过PageHelper创建代理对象 拦截器的调用源头-动态代理 分页逻辑 ​总结 ​用法 ​ 此时commentAnalyses为Page对象(PageHelper插件包内定义的) ​ 而Page对象继承自JDK中的ArrayList,扩展并封装了一些page相关的字段,如页码,每页大小,总记录数,总页数等. ​原理 我们就加了

  • Spring Boot 集成MyBatis 教程详解

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者. 在集成MyBatis前,我们先配置一个druid数据源. Spring Boot 系列 1.Spring Boot 入门 2.Spring Boot 属性配置

  • Mybatis分页插件的实例详解

    Mybatis分页插件的实例详解 1.前言: 我们知道,在MySQL中,分页的sql是使用limit来做,如果我们自己写sql,那分页肯定是没有任何问题的.但是一旦model多了起来,复杂了起来,我们很自然的想到使用mybatis的逆向工程来生成相应的po和mapper,但是同时也会带来弊端,比如这里的分页问题就不好解决了. 可能有人会说,我可以修改生成的文件,没错,这是可行的,但是一般我们通过逆向工程生成的文件,都不会去动它,所以这个时候,就需要使用分页插件来解决了. 如果你也在用Mybati

  • IDEA版最新MyBatis程序配置教程详解

    实验环境:IDEA2020.1+MySQL8.0.21+Mybatis3.5.5+Junit4.13 搭建环境–>导入Mybatis->编写代码->测试 1.搭建实验数据库 我们创建一个mybatis实验数据库,并创建一个user表为后续实验准备 CREATE DATABASE `mybatis`; USE `mybatis`; CREATE TABLE `user`( `id` INT(4) NOT NULL PRIMARY key, `name` VARCHAR(20) NOT NU

随机推荐