如何在实际项目中使用PageHelper分页插件
PageHelper是一个分页插件,能够简单快速的帮助开发人员完成常见的分页功能,你只需要简单的使用两行代码就可以完成一个分页效果…
最近做一个科创项目,使用Maven+SSM的环境,有分页的功能,于是使用了PageHelper的分页工具来完成分页功能,体验非常不错。
1. 数据库准备
t_diy是用户自己写个性文章的的一个表,t_categories是文章的分类表,t_user用户表;要分页显示的就是根据分类ID查找对应类别的diy信息并显示。
2. PageHelper引入
1. 在pom.xml中引入依赖
1 |
<dependency> |
(官方推荐使用最新版本,当前最新是5.1.10)
虽然官方说明要引入pagehelper.jar和jsqlparser.jar,但实际上引入pagehelper.jar时会自动引入jsqlparser.jar
2. 配置Mybatis插件
可以选择在spring配置文件中配置,也可以在mybatis全局配置文件中配置插件。我是在mybatis全局文件中配置的。
1 |
<plugins> |
这里要说明一点(本人踩过的坑):
注意plugins的书写位置
开始使用PageHelper
使用非常简单,调用PageHelper.startPage(pageNum,pageSize);第一个参数是第几页,第二个参数是页大小,紧跟其后的第一个查询方法就是一个分页查询了。
为了更方便的显示和处理分页的结果,可以使用PageInfo对查询结果进行封装:PageInfo pageInfo=new PageInfo(data,navigatePages);第一个参数是查询出来的数据集,一般可以是一个List,第二个参数是页面上需要连续显示多少页(可以省略)。
以下是我的代码:
1 |
@RequestMapping(value = "/showCategory") |
至于SQL语句,不需要做任何与分页相关的事情,我的SQL语句就是一个简单的查询:
以上就完成了最简单当然也是最常用的分页功能,是不是非常简单。
使用Bootstrap美化分页栏
分页数据得到了,当然也需要对页面进行优化,Bootstrap是一个容易上手的前端库,提供 大专栏 如何在实际项目中使用PageHelper分页插件了非常多的样式,地址:https://v4.bootcss.com
Bootstrap提供了分页栏样式,具体的使用就不都说了,可以参考官网。想要的效果应该是这样的:
其实包含了很多小的逻辑:
- 第一页时首页不能点,前一页不显示
- 最后一页时末页不能点,后一页不显示
- 当前页高亮
- 用户点击更新显示的页码
这就是为什么要将结果封装为PageInfo的好处,使用PageInfo可以方便的控制这些逻辑:
- PageInfo有一个属性navigatepageNums存放的是当前应该显示的页码,这和之前PageInfo构造的第二个参数有关。(循环显示页码)
- PageInfo有属性list,存放分页的数据(获取数据)
- PageInfo有属性pageNum,表示当前页码 (判断是否高亮显示)
- PageInfo有属性isFirstPage,isLastPage,表示是否是第一页和最后一页(控制首末页按钮,前后页的显示和隐藏)
我的代码如下:
1 |
<c:if test="${pageInfo.list.size()>0}"> |
最后的效果如下所示:

(数据有限,只有两页...)
如何在实际项目中使用PageHelper分页插件的更多相关文章
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-5.PageHelper分页插件使用
笔记 5.PageHelper分页插件使用 简介:讲解开源组件,mybaits分页插件的使用 1.引入依赖 <!-- 分页插件依赖 --> ...
- 17-SSM中通过pagehelper分页的实现
SSM中通过pagehelper分页的实现 1. 在SSM框架的基础上实现,导包 <!-- 分页 --> <dependency> <groupId>com.git ...
- 项目中的一个分页功能pagination
项目中的一个分页功能pagination <script> //总页数 ; ; //分页总数量 $(function () { // $("#pagination"). ...
- Springboot 系列(十二)使用 Mybatis 集成 pagehelper 分页插件和 mapper 插件
前言 在 Springboot 系列文章第十一篇里(使用 Mybatis(自动生成插件) 访问数据库),实验了 Springboot 结合 Mybatis 以及 Mybatis-generator 生 ...
- PageHelper分页插件的使用
大家好!今天写ssm项目实现分页的时候用到pageHelper分页插件,在使用过程中出现了一些错误,因此写篇随笔记录下整个过程 1.背景:在项目的开发的过程中,为了实现所有的功能. 2.目标:实现分页 ...
- SpringBoot+Mybatis配置Pagehelper分页插件实现自动分页
SpringBoot+Mybatis配置Pagehelper分页插件实现自动分页 **SpringBoot+Mybatis使用Pagehelper分页插件自动分页,非常好用,不用在自己去计算和组装了. ...
- SpringBoot入门篇--整合mybatis+generator自动生成代码+druid连接池+PageHelper分页插件
原文链接 我们这一篇博客讲的是如何整合Springboot和Mybatis框架,然后使用generator自动生成mapper,pojo等文件.然后再使用阿里巴巴提供的开源连接池druid,这个连接池 ...
- 【spring boot】14.spring boot集成mybatis,注解方式OR映射文件方式AND pagehelper分页插件【Mybatis】pagehelper分页插件分页查询无效解决方法
spring boot集成mybatis,集成使用mybatis拖沓了好久,今天终于可以补起来了. 本篇源码中,同时使用了Spring data JPA 和 Mybatis两种方式. 在使用的过程中一 ...
- Mybatis的PageHelper分页插件的PageInfo的属性参数,成员变量的解释,以及页面模板
作者:个人微信公众号:程序猿的月光宝盒 //当前页 private int pageNum; //每页的数量 private int pageSize; //当前页的数量 private int si ...
随机推荐
- Vue插件配置和 后台交互
Vue插件配置和 后台交互 一.全局配置静态文件(csss, js..) 1.1 全局配置css文件 创建css文件 在main.js配置css文件 // 配置全局css样式 // 方式一 impor ...
- Python 爬虫 爬取图片入门
爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 用户看到的网页实质是由 HTML 代码构成的,爬 ...
- linux epoll ET边沿触发
/***EPOLL ET 触发必须使用非阻塞,LT触发可以阻塞/非阻塞.*read 函数 非阻塞读需 忙轮寻 soket关闭返回0,循环读完数据*如果已经读完再读read返回 -1,errno=11( ...
- 函数动态传参,命名空间,gloabal,nonlocal关键字
一.函数参数->动态传参(形参的第三种) 动态参数分为两种: 1)动态接收位置参数 普通的位置传参: def func(quality_food,junk_food): print('我要吃', ...
- 爬虫笔记(九)——安装Fiddler
在ubuntu下不能直接安装Fiddler,我们要先安装mono环境,具体可分为三个步骤: 1. 在终端下输入指令安装mono环境 :sudo apt-get install mono-compl ...
- C++ 传参的方式 值传递,指针传递,引用传递
关于传参总是搞晕,这里总结下: 值传递: void func(int n) { } void main() { int x = 1; func(x); return; } 这种就是值传递,在func函 ...
- Q_Go2
一.变量 1.1 变量的概念 变量是计算机语言中存储数据的抽象概念.变量的功能是存储数据.变量通过变量名访问. 变量的本质是计算机分配的一小块内存,专门用于存放指定数据,在程序运行过程中该数值可以发生 ...
- shell_xtrabackup_backup_mysql
#!/bin/bash# Name: xtra_back_mysql.sh# Desc:该脚本使用xtrabackup工具对mysql数据库进行增量备份,根据自己需求可以自行修改# Usage:./x ...
- 吴裕雄--天生自然 JAVA开发学习:集合框架
import java.util.*; public class Test{ public static void main(String[] args) { List<String> l ...
- WOW.js——在页面滚动时展现动感的元素动画效果
插件描述:WOW.js 是一款可以实现滚动页面时触发CSS 动画效果的插件,动态效果可以使网站显示更有动感. 当页面在向下滚动的时候,使用WOW.js可以让页面元素产生细小的动画效果,从而引起浏览者注 ...