关于mybatis分页插件PageHelper的使用方法
1、引入依赖
我们在项目的pom.xml文件中引入以下代码
<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.3</version>
</dependency>
这是分页插件的启动代码,项目启动时自行启动,如果使用别的依赖还需要做一些配置。所以我们使用简便的方式,我想大家也希望操作不需要太复杂吧。哈哈哈哈。接下来在mapper接口书写以下代码
2、将实体类对应的数据表内容放入集合中
List<Type> findAllType();
当然名字可以结合你自己的项目,看看你的实体类有哪些。然后在对应的mapper.xml输入以下代码
<select id="findAllType" resultMap="TypeEntityMap">SELECT * FROM t_type
</select>
紧接着来到业务层接口,也就是service层,输入以下代码
3、在Service层使用PageInfo属性
PageInfo<Type> getAllType(Integer pageNum,Integer pageSize);
Type为你项目的实体类,pageNum表示当前页,pageSize表示每页的数量。接下来一步,来到业务层的实现类也就是ServiceImpl文件
@Overridepublic PageInfo<Type> getAllType(Integer pageNum,Integer pageSize) {PageHelper.startPage(pageNum,pageSize,"id DESC");List<Type> types = typeMapper.findAllType();return new PageInfo<>(types);}
这个大家很熟悉了,不要漏掉PageHelper.startPage(pageNum,pageSize,"num DESC");
这一行代码,要不然分页是不生效的。最后面引号里面的可填可不填,表示order by 也就是按什么排序,DESC表示倒叙排列。完成以上步骤就可以在Test类测试了
@Testpublic void getAllTyPe(){PageInfo<Type> typePageInfo = typeService.getAllType(1,5);System.out.println(typePageInfo);
// List<Type> list = yupePageInfo.getList();
// System.out.println(list);
// System.out.println(list.get(0).getTypeName());}
大家对于可以输出的内容,都测试一下,看看有什么区别。我们先来看看PageInfo类的属性里有什么内容,如果用idea的话,可以按住ctrl同时点击PageInfo就可以进入了
private static final long serialVersionUID = 1L;private int pageNum;//当前页private int pageSize;//每页的数量private int size;//当前页的数量private int startRow;// 当前页面第一个元素在数据库中的行号private int endRow;//当前页面最后一个元素在数据库中的行号private long total;//总条数private int pages;//总页数private List<T> list;//结果集合private int prePage;//上一页private int nextPage;//下一页private boolean isFirstPage;//是否为首页页private boolean isLastPage;//是否为尾页页private boolean hasPreviousPage;//是否有上一页private boolean hasNextPage;//是否有下一页private int navigatePages;//导航页码private int[] navigatepageNums;//导航页号private int navigateFirstPage;//导航条上的第一页private int navigateLastPage;//导航条上的最后一页
我这里截取了一部分,相信对于小伙伴们来说有所帮助。最后就可以来到控制层了
4、Controller层调用
@RequestMapping("/")public String index(@RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum, Model model){// 首页右侧分类PageInfo<Type> typePageInfo = typeService.getAllType(pageNum,6);model.addAttribute("types",typePageInfo);return "index";}
这样我们就可以在前端页面使用了。对于前端如何使用,大家视具体情况而定。使用thymeleaf和freemarker模板引擎调用方法不一样。下期我将想大家介绍,freemarker模板引擎的使用。
本期内容就给大家介绍到这里啦。
原文来至:https://www.lovelin.space/blog/15/detail
关于mybatis分页插件PageHelper的使用方法相关推荐
- (转)淘淘商城系列——MyBatis分页插件(PageHelper)的使用以及商品列表展示
http://blog.csdn.net/yerenyuan_pku/article/details/72774381 上文我们实现了展示后台页面的功能,而本文我们实现的主要功能是展示商品列表,大家要 ...
- 解决使用mybatis分页插件PageHelper的一个报错问题
解决使用mybatis分页插件PageHelper的一个报错问题 参考文章: (1)解决使用mybatis分页插件PageHelper的一个报错问题 (2)https://www.cnblogs.co ...
- Mybatis分页插件PageHelper使用教程(图文详细版)
Mybatis分页插件PageHelper使用教程(图文详细版) 1.配置 2.后台代码 controller类 html页面 html页面效果图 1.配置 小编的项目是springBoot项目,所以 ...
- MyBatis分页插件PageHelper使用练习
转载自:http://git.oschina.net/free/Mybatis_PageHelper/blob/master/wikis/HowToUse.markdown 1.环境准备: 分页插件p ...
- MyBatis学习总结(17)——Mybatis分页插件PageHelper
2019独角兽企业重金招聘Python工程师标准>>> 如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件. 分页插件支持任何复杂的单表.多表分页,部分特殊 ...
- 分页插件PageHelper的使用方法
PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库,例如mysql. oracle.mariaDB.DB2.SQLite.Hsqldb等. PageHe ...
- MyBatis 分页插件 PageHelper:是如何拦截SQL进行分页
目录 Springboot项目集成 分页插件参数介绍 如何选择配置这些参数 场景一 场景二 场景三 场景四 场景五 PageHelper的使用 PageHelper实现原理1: interceptor ...
- 【MyBatis】MyBatis分页插件PageHelper的使用
转载自 https://www.cnblogs.com/shanheyongmu/p/5864047.html 好多天没写博客了,因为最近在实习,大部分时间在熟悉实习相关的东西,也没有怎么学习新的东西 ...
- Mybatis分页插件PageHelper简单使用
转载自:https://www.cnblogs.com/ljdblog/p/6725094.html 引言 对于使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句, ...
最新文章
- Docker创建Nexus
- 记与公司内网微博的谈话
- react 判断图片是否加载完成_React中型项目的优化实践
- STM32 串口DMA接收 Openmv / K210 整数、小数字符串数据 (基于HAL库)
- 玩转oracle 11g(42):增加表空间
- Android中 requestCode与resultCode的区别与用法
- 程序员面试金典——番外篇之下一个较大元素I
- c++调用matlab
- mysql环境变量配置还是不行_mysql环境变量配置与Error 1045的解决方案
- 广联达提示盗版文件修复工具
- Win10设置不能保存,添加应用磁贴重启后恢复原状问题
- ActiveMQ 之安全认证
- laravel-excel 表格 文档翻译笔记
- 写作三件套(VScode Miktex Latex Workshop)入门三大坑
- python金融量化书籍_超强干货 | Python金融数据量化分析教程+机器学习电子书
- Python 全栈系列92 - memos的字段设计
- 使用Lambda(拉姆达)对集合进行排序,一行代码即可解决
- MATLAB 代数运算
- 做BI财务数据分析,国产BI软件经验更足
- C++学习(三十九)(C语言部分)之 游戏项目(2048游戏)