分页插件--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 上文我们实现了展示后台页面的功能,而本文我们实现的主要功能是展示商品列表,大家要 ...
最新文章
- model存数据_Jepsen 测试框架在图数据库 Nebula Graph 中的实践
- 基于android的记账本论文,(毕业论文)基于安卓的记账本.doc
- CSharpGL(42)借助帧缓存实现渲染到纹理(RenderToTexture)
- Android Memory Management
- 服务部署如何做到高可用?这份“三级跳”秘籍送给你
- 时间序列分析之:函数分解decompose
- shell之计算文本中单词出现频率
- js获取html样式属性,js怎么获取指定css属性的值?
- ListT清除重复某一项
- 聪明女人的七个致富之道,学会它你也能成为人人羡慕的小富婆
- 【Hive】hive表的文件存储格式
- PHP $_SERVER详解
- 如何学习Vim(转)
- 为什么有的计算机没有ppt,电脑上没有ppt怎么办
- android三星打印插件,三星打印服务插件 Samsung Print Service for Android
- 微信小程序优选驾考驾照考试预约+后台管理系统SSM-JAVA【数据库设计、论文、源码、开题报告】
- centos7 安装docker-ce社区版 ,最新版本docker,docker阿里云加速
- 硬盘分区不够,怎么合并分区?
- SEED-XDS560v2 EMU1-3 led闪烁
- python绘制七巧板_CSS3制作七巧板动画
热门文章
- 作业7--南通大学教务系统体验分析
- 记一次ubuntu系统崩溃的修复
- ENVI对LandSat8 (OLI)图像 FLAASH大气校正 input radiance image data 报错 no valid data encountered in this file
- 用Python解方程
- 关于ASP.NET编程中,GridView表格无法执行RenderControl()方法的问题
- BLAS CBLAS 安装技巧
- 因为被骗8000块,他愤而“自学”电信诈骗搞到115万,如今他这样
- win10重启网卡,解决掉线等问题
- 如何快速查看每个德邦快递单号物流详情的两种方法
- 一次接线图的图符设计