PageHelper实现分页查询
PageHelper是基于拦截器实现的myBatis分页插件
PageHelper的Github主页 : https://github.com/pagehelper/Mybatis-PageHelper
一.通过maven引入PageHelper的jar包
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.8</version>
</dependency>
二.在myBatis配置文件中配置PageHelper
<plugins>
<!-- com.github.pagehelper为PageHelper类所在包名 -->
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!-- 使用下面的方式配置参数,后面会有所有的参数介绍 -->
<property name="helperDialect" value="mysql"/>
</plugin>
</plugins>
也可以在spring中配置PageHelper,具体步骤请参考PageHelper的Github主页官方教程
三.在Controller层使用PageHelper实现分页查询
/**
* 分页查询练习
* @param mav
* @param currentPage 当前页数
* @return
*/
@RequestMapping("/pagination")
public ModelAndView queryUsers(ModelAndView mav, Integer currentPage){
//紧挨在查询语句前调用PageHelper的startPage(int pageNum, int pageSize)方法,否则分页查询不生效
PageHelper.startPage(currentPage, 5);
//查询用户
List<User> users = ts.queryUsers();
//用PageInfo包装List查询结果,查看PageInfo源码,了解更多
PageInfo<User> pi = new PageInfo<User>(users); mav.addObject("pageInfo", pi);
mav.setViewName("test/paginationTest");
return mav;
}
四.JSP页面的书写方法
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>PageHelper分页查询</title>
</head>
<body>
<!-- 点击查询 -->
<a href="${pageContext.request.contextPath }/test/pagination?currentPage=1">查询</a>
<!-- 有上一页的时候显示上一页 -->
<c:if test="${pageInfo.hasPreviousPage }">
<a href="${pageContext.request.contextPath }/test/pagination?currentPage=${pageInfo.prePage}">上一页</a>
</c:if>
<!-- 有下一页的时候显示下一页 -->
<c:if test="${pageInfo.hasNextPage }">
<a href="${pageContext.request.contextPath }/test/pagination?currentPage=${pageInfo.nextPage}">下一页</a>
</c:if>
<!-- 遍历查询结果 -->
<!-- 注意! 在EL表达式中,用.list即可调用pageInfo中封装的list对象 -->
<c:forEach items="${pageInfo.list }" var="u" >
<p>${u.username } + ${u.realname }</p>
</c:forEach> <br/>当前页:${pageInfo.pageNum }
<br/>总页数:${pageInfo.pages }
<br/>当前页面第一个元素在数据库中的行号:${pageInfo.startRow }
<br/>当前页面最后一个元素在数据库中的行号:${pageInfo.endRow }
</body>
</html>
五.其他
重点了解PageInfo类,可以自行查阅源码
关于更详细的内容(更多的配置内容和使用方法等等),请参考PageHelper官方文档
地址 : https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md
f
PageHelper实现分页查询的更多相关文章
- SpringBoot 使用 MyBatis 分页插件 PageHelper 进行分页查询
前言:本文档使用的是 SpringBoot,如果是 Spring 还需要在 MyBatis 配置 xml 中配置拦截器,并且 PageHelper 是针对 MyBatis 的,MyBatis 的集成不 ...
- 插件PageHelper实现分页查询
一,需求: CommonQuery--PyQueryBean PyQueryBean:鹏飞历史记录查询,以往哪些人对征信进行了查询.CommonQuery:查询条件:根据查询人(umName).被查询 ...
- ssm+PageHelper实现分页查询
通过搭建ssm框架,然后通过mybatis的分页插件pagehelp进行分页查询.源码:https://gitee.com/smfx1314/pagehelper 看一下项目结构: 首先创建一个mav ...
- 使用PageHelper进行分页查询
service层代码: public Result getDataSetList(String dataCode, String dataName, int pageIndex, int length ...
- Springboot 使用pageHelper实现分页查询
本文链接:https://blog.csdn.net/qq_35387940/article/details/91530234
- 5-7 分页查询PageHelper
1. PageHelper实现分页查询 Day08 1.1 PH作用: PageHelper框架可以实现我们提供页码和每页条数, 自动实现分页效果,收集分页信息 1.2 PH原理: PageHelpe ...
- SpringBoot整合Mybatis关于分页查询的方法
最近公司在用到SpringBoot整合Mybatis时当web端页面数据增多时需要使用分页查询以方便来展示数据.本人对分页查询进行了一些步骤的总结,希望能够帮助到有需要的博友.如有更好的方式,也希望评 ...
- Springboot 整合通用mapper和pagehelper展示分页数据(附github源码)
简介 springboot 设计目的就是为了加速开发,减少xml的配置.如果你不想写配置文件只需要在配置文件添加相对应的配置就能快速的启动的程序. 通用mapp 通用mapper只支持对单表的操作,对 ...
- 浅谈PageHelper插件分页实现原理及大数据量下SQL查询效率问题解决
前因:项目一直使用的是PageHelper实现分页功能,项目前期数据量较少一直没有什么问题.随着业务扩增,数据库扩增PageHelper出现了明显的性能问题.几十万甚至上百万的单表数据查询性能缓慢,需 ...
随机推荐
- Cron定时任务应用到Thinkphp – 贤生博客
Cron定时任务应用到Thinkphp 安装crontab: yum install crontabs 关于cron的一些命令: /sbin/service crond start //启动服务 /s ...
- HR招聘_(一)_招聘意识
最近接触到一点HR的工作,贯穿始终,故有点心得,与众人分享.言辞不尽之处,万望指点一二.不胜感激. HR招聘_(一)_招聘意识HR招聘_(二)_招聘方法论(招聘原因及原则) HR招聘_(三)_招聘方法 ...
- Vim 中自定义注释快捷键
写程序的时候写过的代码不忍心立马删掉,所以注释很多,所以找了下注释的快捷健. 打开 /etc/vim/vimrc文件,添加如下两行代码即可. /* 注释该行 */ map = I/* ^[A */j ...
- 2017年2月27日Unicorn, US (148) and China (69), followed by the U.K. (10), India (9), Israel (5) and Germany (5).
Revisiting The Unicorn Club Get to know the newest crowd of billion dollar startups In 2013, when Ai ...
- RabbitMQ的优劣势
优势:支持集群化.高可用部署架构.消息高可靠支持 复杂系统的解耦: 复杂链路的异步调用 瞬时高峰的削峰处理. 这里提一下RocketMQ,是阿里开源的,经过阿里的生产环境的超高并发.高吞吐的考验.性能 ...
- Mybatis - plus 配置与运用
Mybatis - plus mybatis-plus 官方文档 1.配置 引入对应的文件包,spring boot + mybatis 需添加依赖文件如下: <dependencies> ...
- Spring Boot:Boot2.0版本整合Neo4j
前面介绍了Boot 1.5版本集成Neo4j,Boot 2.0以上版本Neo4j变化较大. 场景还是电影人员关系 Boot 2.0主要变化 GraphRepository在Boot2.0下不支持了,调 ...
- PHP生成短连接的方法
PHP生成短连接的方法.md PHP生成短连接的方法 直接贴上方法,函数可以查看手册. <?php /** 生成短网址 * @param String $url 原网址 * @return St ...
- windows下 python中报错ImportError: No module named 'requests'
原因没有安装requests模块, 可以切换到python的安装目录找到 script文件夹 example: 进入cmd窗口切换到上面的目录直接运营下面两个命令中的一个 1. > Path\p ...
- Silverlight 2.5D RPG游戏技巧与特效处理:(五)HLSL渲染动画
原文:Silverlight 2.5D RPG游戏技巧与特效处理:(五)HLSL渲染动画 或许大家依旧对上一节中的“黑夜”及“梦回过去”记忆犹新,追问下去HLSL到底是何方神圣能实现如此炫酷之效果?层 ...