分页插件--PageHelper
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相关推荐
- 解决使用mybatis分页插件PageHelper的一个报错问题
解决使用mybatis分页插件PageHelper的一个报错问题 参考文章: (1)解决使用mybatis分页插件PageHelper的一个报错问题 (2)https://www.cnblogs.co ...
- MyBatis分页插件PageHelper使用练习
转载自:http://git.oschina.net/free/Mybatis_PageHelper/blob/master/wikis/HowToUse.markdown 1.环境准备: 分页插件p ...
- vue分页+spring boot +分页插件pagehelper
vue分页+spring boot +分页插件pagehelper https://blog.csdn.net/baidu_38603246/article/details/98854013
- 【MyBatis】MyBatis分页插件PageHelper的使用
转载自 https://www.cnblogs.com/shanheyongmu/p/5864047.html 好多天没写博客了,因为最近在实习,大部分时间在熟悉实习相关的东西,也没有怎么学习新的东西 ...
- MyBatis学习总结(17)——Mybatis分页插件PageHelper
2019独角兽企业重金招聘Python工程师标准>>> 如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件. 分页插件支持任何复杂的单表.多表分页,部分特殊 ...
- SpringBoot集成MyBatis的分页插件PageHelper
[写在前面] 项目的后台管理系统需要展示所有资源信息,select * 虽然方便但数据量过于庞大会严重降低查找效率,页面加载慢,用户体验差.分页自然是必要选择,但原生的方法过于繁杂.MyBatis的分 ...
- hql分页获取数据总数_最简洁的分页插件PageHelper
最简洁的分页插件PageHelper 简介 大部分后台管理项目,用的最多的展现方式是列表显示,所以我把列表查询中的分页插件拿出来写一下,方便以后写代码的时候直接复制粘贴.在我们最熟悉的springbo ...
- java分页插件PageHelper的内置list数据操作失败
问题描述: java分页插件PageHelper的内置list数据在hanlder处理器中获取失败,但是测试确通过了,如下图 但是测试代码成功 @ContextConfiguration(locati ...
- Spring Boot系列教程八: Mybatis使用分页插件PageHelper
一.前言 上篇博客中介绍了spring boot集成mybatis的方法,基于上篇文章这里主要介绍如何使用分页插件PageHelper.在MyBatis中提供了拦截器接口,我们可以使用PageHelp ...
- (转)淘淘商城系列——MyBatis分页插件(PageHelper)的使用以及商品列表展示
http://blog.csdn.net/yerenyuan_pku/article/details/72774381 上文我们实现了展示后台页面的功能,而本文我们实现的主要功能是展示商品列表,大家要 ...
最新文章
- 5.10. Web Tools
- 重装IE后,ASP.NET无法按F5启动项目的解决方法
- 2017年如何在移动端优雅的使用flex
- 计算机文化基础操作考试,(计算机文化基础上机考试操作指南.doc
- 【struts2】struts2中对象的获取
- 高速连传与LORA的区别和优势
- c++语言中break的作用,C++ break和continue用法详解
- 线程调度优先级和关联性
- 学python入门需要什么基础?
- c++_cin.getline()与getline() _getline(cin,str,20)
- mysql charactersetdatabase_Mysql5.7.22 坑爹的 `character_set_database`
- 网页添加 Live2D 看板娘
- 解决帆软中不能制作城市热力图的问题
- DDOS防御抗D平台方案
- 粉末成型工艺(粉末冶金粉末注射成型)
- 大聪明教你学Java | throw 和 throws 的区别你知道吗
- ZYNQ上无DDR加载应用
- 海比研究院专访伙伴云VP袁兆江:大厂入局,低代码赛道如何突围?
- 三全食品安全阴云未散:京东自营店未公示生产许可证
- MySql 如何将一维表变成二维表