mybatis的分页查询可以通过PageHelper插件实现

在数据库中我们使用分页查询的sql语句为:
select * from 表名 [where 条件] limit (page-1)*pageSize, pageSize;
page: 当前页码
pageSize: 每页显示的条数。

但是当我们使用PageHelper插件后页码什么的都不用我们计算 我们可以通过直接使用它里面的函数得到我们想要的。如:总条数 总页数 当前页面呈现的数据

使用步骤:
第一步:在pom.xml中引入依赖

<dependency><groupId>repMaven.com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.3.0</version>
</dependency>

第二步:在conf.xml中设置PageHelper拦截器

<plugins><plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>

注意:

第三步:在测试类(单元测试)中测试:

    @Testpublic void testFindAll() throws Exception{Reader rd = Resources.getResourceAsReader("conf.xml");SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(rd);SqlSession session = factory.openSession();UserDao userDao = session.getMapper(UserDao.class);//pageNum:当前页 pageSize:每页显示几条数据PageHelper.startPage(1,2);List<User> user = userDao.findAll();PageInfo<User> pageInfo = new PageInfo<User>(user);System.out.println("总条数:"+pageInfo.getTotal());System.out.println("总页数:"+pageInfo.getPages());System.out.println("当前页码对应的数据:"+pageInfo.getList());session.close();}


数据库为:

/*Navicat Premium Data TransferSource Server         : MichinaishSource Server Type    : MySQLSource Server Version : 80011Source Host           : localhost:3306Source Schema         : mybatisTarget Server Type    : MySQLTarget Server Version : 80011File Encoding         : 65001Date: 06/06/2022 19:16:07
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for tbl_user02
-- ----------------------------
DROP TABLE IF EXISTS `tbl_user02`;
CREATE TABLE `tbl_user02`  (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',`name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',`pwd` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '密码',`email` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of tbl_user02
-- ----------------------------
INSERT INTO `tbl_user02` VALUES (6, '张三', '123', 'zs@qq.com');
INSERT INTO `tbl_user02` VALUES (7, '李四', '123', 'ls@qq.com');
INSERT INTO `tbl_user02` VALUES (9, 'ac', '123', 'ac@qq.com');
INSERT INTO `tbl_user02` VALUES (10, 'bc', '123', 'bc@qq.com');
INSERT INTO `tbl_user02` VALUES (11, 'cc', '123', 'cc@qq.com');
INSERT INTO `tbl_user02` VALUES (12, 'dc', '123', 'dc@qq.com');SET FOREIGN_KEY_CHECKS = 1;

分页插件--PageHelper相关推荐

  1. 解决使用mybatis分页插件PageHelper的一个报错问题

    解决使用mybatis分页插件PageHelper的一个报错问题 参考文章: (1)解决使用mybatis分页插件PageHelper的一个报错问题 (2)https://www.cnblogs.co ...

  2. MyBatis分页插件PageHelper使用练习

    转载自:http://git.oschina.net/free/Mybatis_PageHelper/blob/master/wikis/HowToUse.markdown 1.环境准备: 分页插件p ...

  3. vue分页+spring boot +分页插件pagehelper

    vue分页+spring boot +分页插件pagehelper https://blog.csdn.net/baidu_38603246/article/details/98854013

  4. 【MyBatis】MyBatis分页插件PageHelper的使用

    转载自 https://www.cnblogs.com/shanheyongmu/p/5864047.html 好多天没写博客了,因为最近在实习,大部分时间在熟悉实习相关的东西,也没有怎么学习新的东西 ...

  5. MyBatis学习总结(17)——Mybatis分页插件PageHelper

    2019独角兽企业重金招聘Python工程师标准>>> 如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件. 分页插件支持任何复杂的单表.多表分页,部分特殊 ...

  6. SpringBoot集成MyBatis的分页插件PageHelper

    [写在前面] 项目的后台管理系统需要展示所有资源信息,select * 虽然方便但数据量过于庞大会严重降低查找效率,页面加载慢,用户体验差.分页自然是必要选择,但原生的方法过于繁杂.MyBatis的分 ...

  7. hql分页获取数据总数_最简洁的分页插件PageHelper

    最简洁的分页插件PageHelper 简介 大部分后台管理项目,用的最多的展现方式是列表显示,所以我把列表查询中的分页插件拿出来写一下,方便以后写代码的时候直接复制粘贴.在我们最熟悉的springbo ...

  8. java分页插件PageHelper的内置list数据操作失败

    问题描述: java分页插件PageHelper的内置list数据在hanlder处理器中获取失败,但是测试确通过了,如下图 但是测试代码成功 @ContextConfiguration(locati ...

  9. Spring Boot系列教程八: Mybatis使用分页插件PageHelper

    一.前言 上篇博客中介绍了spring boot集成mybatis的方法,基于上篇文章这里主要介绍如何使用分页插件PageHelper.在MyBatis中提供了拦截器接口,我们可以使用PageHelp ...

  10. (转)淘淘商城系列——MyBatis分页插件(PageHelper)的使用以及商品列表展示

    http://blog.csdn.net/yerenyuan_pku/article/details/72774381 上文我们实现了展示后台页面的功能,而本文我们实现的主要功能是展示商品列表,大家要 ...

最新文章

  1. 5.10. Web Tools
  2. 重装IE后,ASP.NET无法按F5启动项目的解决方法
  3. 2017年如何在移动端优雅的使用flex
  4. 计算机文化基础操作考试,(计算机文化基础上机考试操作指南.doc
  5. 【struts2】struts2中对象的获取
  6. 高速连传与LORA的区别和优势
  7. c++语言中break的作用,C++ break和continue用法详解
  8. 线程调度优先级和关联性
  9. 学python入门需要什么基础?
  10. c++_cin.getline()与getline() _getline(cin,str,20)
  11. mysql charactersetdatabase_Mysql5.7.22 坑爹的 `character_set_database`
  12. 网页添加 Live2D 看板娘
  13. 解决帆软中不能制作城市热力图的问题
  14. DDOS防御抗D平台方案
  15. 粉末成型工艺(粉末冶金粉末注射成型)
  16. 大聪明教你学Java | throw 和 throws 的区别你知道吗
  17. ZYNQ上无DDR加载应用
  18. 海比研究院专访伙伴云VP袁兆江:大厂入局,低代码赛道如何突围?
  19. 三全食品安全阴云未散:京东自营店未公示生产许可证
  20. MySql 如何将一维表变成二维表

热门文章

  1. C#Ping命令【因特网控制消息协议ICMP】
  2. Arduino UNO + DS1302利用31字节静态RAM存储数据并串口打印
  3. GSL中的BLAS支持
  4. linux 僵死日志,linux 僵死进程及处理
  5. 第四届金陀螺奖投票总数超过100W,四大类奖项TOP10实力上榜!
  6. Vue2项目视频控件大全,亲测有效
  7. placeholder的样式设置和竖杠的样式
  8. Java源码学习--00源码目录介绍
  9. iPhone6升级iOS11
  10. sendmail发送邮件时主题中文乱码的解决办法