Spring Boot集成pagehelper分页插件
Spring Boot集成pagehelper分页插件
- 1、在pom.xml中添加pagehelper依赖
- 2、修改配置文件
- 3、修改Controller里面的查询方法
- 4、返回分页信息
- 1. 修改UserMapper
- 2. 修改UserService
- 3. 修改UserServiceImpl
- 4. 用com.github.pagehelper.PageInfo类封装Page数据
- 5. 测试
在我们的项目中经常要用到查询的分页,这也是一个非常实用的功能,在这里我记录一下springboot集成pagehelper这个分页查询插件
1、在pom.xml中添加pagehelper依赖
在pom.xml中添加下面的代码:
<!-- pagehelper 插件 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.5</version></dependency>
2、修改配置文件
在application.properties添加如下代码:
#pagehelper分页插件配置
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
3、修改Controller里面的查询方法
加上参数@RequestParam(defaultValue = "1") int pageNo, @RequestParam(defaultValue = "10") int pageSize)
,两个参数表示页号和每页大小;然后加上PageHelper.startPage(pageNo,pageSize);
表示使用这个插件。
其他代码和之前一样。
具体代码如下:
//查找所有用户@ResponseBody@RequestMapping("/user/findAllUsers")public ResultInfo findAllUsers(@RequestParam(defaultValue = "1") int pageNo, @RequestParam(defaultValue = "10") int pageSize){try{PageHelper.startPage(pageNo,pageSize);List<User> users = userService.findAllUsers();if (users.size()<=0){info.setCode(Code.NODATA);return info;}HashMap<String,Object> userHashMap = new HashMap<>();userHashMap.put("users",users);info.setData(userHashMap);return info;}catch (Exception e){e.printStackTrace();}info.setCode(Code.NODATA);return info;}
postman测试结果:
需要注意的是,分页代码PageHelper.startPage(pageNo,pageSize);只对其后的第一个查询有效。如把代码改为下面这样,添加一个查询,则第二个查询并没有分页
PageHelper.startPage(pageNo,pageSize);List<User> users = userService.findAllUsers(); //这个查询会分页List<User> users1 = userService.findAllUsers(); //这个查询不会分页
4、返回分页信息
有时候,我们的业务需要我们返回分页的信息,这时候我们要对controller、service、mapper里的方法的返回值做一下修改,将List改为Page,Page是com.github.pagehelper包里的类,它是java.util.ArrayList的子类。
1. 修改UserMapper
// List<User> selectAll();
Page<User> selectAll();
2. 修改UserService
//List<User> findAllUsers();Page<User> findAllUsers();
3. 修改UserServiceImpl
// @Override
// public List<User> findAllUsers() {// return userMapper.selectAll();
// }@Overridepublic Page<User> findAllUsers() {return userMapper.selectAll();}
4. 用com.github.pagehelper.PageInfo类封装Page数据
关键代码:
PageInfo<User> pageInfo = new PageInfo<>(userService.findAllUsers());
完整代码如下:
//查找所有用户@ResponseBody@RequestMapping("/user/findAllUsers")public ResultInfo findAllUsers(@RequestParam(defaultValue = "1") int pageNo, @RequestParam(defaultValue = "10") int pageSize){try{PageHelper.startPage(pageNo,pageSize);PageInfo<User> pageInfo = new PageInfo<>(userService.findAllUsers());if (pageInfo.getSize()<=0){info.setCode(Code.NODATA);return info;}HashMap<String,Object> userHashMap = new HashMap<>();userHashMap.put("users",pageInfo);info.setData(userHashMap);return info;}catch (Exception e){e.printStackTrace();}info.setCode(Code.NODATA);return info;}
5. 测试
结果如下:
它返回了页面的很多信息
自此,简单的Spring Boot集成pagehelper分页插件就完成啦!
Spring Boot集成pagehelper分页插件相关推荐
- Springboot 系列(十二)使用 Mybatis 集成 pagehelper 分页插件和 mapper 插件
前言 在 Springboot 系列文章第十一篇里(使用 Mybatis(自动生成插件) 访问数据库),实验了 Springboot 结合 Mybatis 以及 Mybatis-generator 生 ...
- MBG真香 Spring Boot集成Mybatis Generator插件
Mybatis中文官网对mybatis-generator的介绍:http://www.mybatis.cn/archives/885.html Mybatis官网对mybatis-generator ...
- Spring Boot系列六 Spring boot集成mybatis、分页插件pagehelper
1. 概述 本文的内容包括如下内容: Spring Boot集成mybatis Spring Boot集成pagehelper分页插件,定义分页的相关类 实现工具类:model转dto,实现数据层和传 ...
- spring boot+mybatis+thymeleaf+pagehelper分页插件实现分页功能
文章目录 前言 正文 业务场景 后端 pom.xml application.yml 实体类video.java和User.java----映射VideoMapper.xml----VideoMapp ...
- spring boot整合mybatis+通用mapper+pagehelper分页插件
spring boot整合mybatis+通用mapper+pagehelper分页插件 pom依赖 <?xml version="1.0" encoding="U ...
- springboot2.0.5集成mybatis(PageHelper分页插件、generator插件使用)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/zab635590867/article ...
- Spring Boot 集成MyBatis
Spring Boot 集成MyBatis Spring Boot 系列 Spring Boot 入门 Spring Boot 属性配置和使用 Spring Boot 集成MyBatis Spring ...
- 6.3 Spring Boot集成mongodb开发
6.3 Spring Boot集成mongodb开发 本章我们通过SpringBoot集成mongodb,Java,Kotlin开发一个极简社区文章博客系统. 0 mongodb简介 Mongo 的主 ...
- SpringBoot入门篇--整合mybatis+generator自动生成代码+druid连接池+PageHelper分页插件
我们这一一篇博客讲的是如何整合Springboot和Mybatis框架,然后使用generator自动生成mapper,pojo等文件.然后再使用阿里巴巴提供的开源连接池druid,这个连接池的好处我 ...
最新文章
- Horticulture Research 模式图的手稿
- SpringBoot学习(一)
- iOS开发中显示实时的FPS值
- mysql 自定义函数
- voip 音频采集时间_数字音频基础------从PCM说起
- java修饰类的关键字_JAVA中的修饰关键字
- IDEA中的HTTP Client Editor测试API
- python入门——P50模块:模块就是程序
- NDK error Error 126 make: *** Deleting file
- LightOJ 1258 Making Huge Palindromes(KMP)
- 高层管理者的必备技能
- 【小白话通信】离散分布的生成
- 电脑qq传到我的android文件在哪里,手机QQ传文件到我的电脑功能(QQ数据线)的使用方法...
- 破解物联网落地困境-阿里云硬件接入最佳实践
- MicroSemi LiberoSoc启动太慢的问题
- 数学建模 MATLAB绘制心形线
- 0.96OLED图标取模,包括信号图标,蓝牙图标,闹钟,电池
- 【云原生】Helm 架构和基础语法详解
- OpenSSHOpenSSL至最新版本
- 目标检测相关论文和代码资源汇总
热门文章
- PyQt5桌面应用开发(11):摸鱼也要讲基本法之桌面精灵
- 解决在安卓系统微信中打开网页无法上传图片的问题
- 电力系统经济调度-入门版
- JuiceSSH手机端ssh连接
- repo 切换manifest
- 硬盘在计算机内部,计算机硬盘内部结构如图所示,读写磁头在计算机的指令下移动到某个位置,硬盘盘面在电机的带动下......
- 这五年,“IT学子成长指导”专栏与你同行
- python链表操作_Python链表操作(实现)
- c#中使用轻量级数据库sqlite开发总结
- RTL8188EUS Anaroid M Porting