1、项目中整合了SpringBoot后,我们在进行分页查询时,也是需要引入分页的相关依赖(pom.xml中进行引入)

<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.5</version></dependency>

在对应的application.properties配置分页的分页数据等

pagehelper.helper-dialect=mysql
pagehelper.reasonable=true
pagehelper.support-methods-arguments=true

2、在编写项目时,我们可以先写对应的controller层数据,可以先跟前段进行联调,

package com.cmj.controller;import java.util.List;import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import com.cmj.entity.Teacher;
import com.cmj.service.UserService;
import com.github.pagehelper.PageInfo;@RestController
@RequestMapping("/teacher")
public class TeacherController {@Autowiredprivate UserService userService;// 多个查询(分页)@GetMapping("/selectAllPageQuery")public PageInfo<Teacher> selectAllPageQuery(@RequestParam("name") String name,     @RequestParam("pageNum") int pageNum,@RequestParam("pageSize") int pageSize) {return userService.selectAllPageQuery(name,pageNum,pageSize);}}

在入参部分,我们需要传入是我们需要查询的名字,pagesize(每页多少个)、pageNum(第几页(默认是从第一页开始))

这边需要通过PageInfo<Teacher>作为结果的传出,不再是List<Teacher>

3、mapper相关配置文件的编写

TeacherMapper.java:

package com.cmj.dao;
import java.util.List;import org.apache.ibatis.annotations.Mapper;import com.cmj.entity.Teacher;
@Mapper
public interface TeacherMapper {public List<Teacher> selectAll( String name) ;
}

可以直接用我们查询List<Teacher>这块的数据进行,这边也是通过我们的name进行查询

如果说后面入参有多个,可以用@param(“XXX”)进行标识

TeacherMapper.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cmj.dao.TeacherMapper"><!-- 查询全部的内容 --><select id="selectAll" resultType="teacher" >select * from teacher where name like concat('%', #{name}, '%')</select></mapper>

我们要注意的是,通过模糊查询的话,我们需要用以下的标准格式进行:

like concat('%', #{name}, '%')

4、写完对应Mapper配置文件后,我们后面需要在我们的 service层进行调用我们所要测试的内容

package com.cmj.service;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;import com.cmj.dao.TeacherMapper;
import com.cmj.entity.Teacher;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;@Service
public class UserService {@Autowiredprivate TeacherMapper teacherMapper;// 多个查询public List<Teacher> selectAll(String name) {return teacherMapper.selectAll(name);}// 多个查询(分页)public PageInfo<Teacher> selectAllPageQuery(String name, int pageNum, int pageSize) {PageHelper.startPage(pageNum, pageSize);List<Teacher> list =selectAll(name);PageInfo<Teacher> result = new PageInfo<Teacher>(list);return result;}
}

进行多个分页查询时,我们判断传入的参数,

分页的话,都是需要进行输入:PageHelper.startPage(pageNum, pageSize);

PageHelper.startPage(1, 10);进行查询第一页,每页显示数量为10条

这边的pageNum与pageSize通过前端进行传入:

但是我们要记住的是,这个分页拦截器,需要放在我们需要进行SQL分页的语句前面,并且,该拦截器只会对遇到的第一个SQL进行分页,所以要记住这个所放置的位置;

所以这边的拦截器放在了:List<Teacher> list =selectAll(name);前面。就是需要对这边SQL查询出来的Teacher进行分页

如果我们想获取分页的详细信息的话,我们首先可以先使用

PageInfo<Teacher> result= new PageInfo< Teacher >(list);

后面return返回的result就有对应的详细信息

SpringBoot分页查询相关推荐

  1. springboot 分页查询参数_精通SpringBoot--分页查询功能的实现

    本文将介绍如何实现分页查询功能,推荐使用github的pagehelper插件实现(事实上大家基本都是这么干的),但本文的实现方式和大多数不同,废话少说,现在就带着大家看看区别在哪里. 先看pom.x ...

  2. springboot 分页查询参数_10. Spring Boot 中的分页查询

    在Spring Boot中使用分页查询主要依赖了org.springframework.data.domain.*包下面的及格分页类的功能.使用分页查询常见有两种方式,一种是直接在程序中写死分页的参数 ...

  3. springboot controller 分页查询_Spring Boot实战分页查询附近的人:Redis+GeoHash+Lua

    前言 最近在做社交的业务,用户进入首页后需要查询附近的人: 项目状况:前期尝试业务阶段: 特点: 快速实现(不需要做太重,满足初期推广运营即可) 快速投入市场去运营 收集用户的经纬度: 用户在每次启动 ...

  4. SpringBoot-07:SpringBoot整合PageHelper做多条件分页查询

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客讲述如何在SpringBoot中整合PageHelper,如何实现带多个条件,以及PageInfo中的 ...

  5. springboot controller 分页查询_Spring Boot实战分页查询附近的人: Redis+GeoHash+Lua

    您的支持是我不断创作巨大动力 CSDN博客地址(关注,点赞) 人工智能推荐 GitHub(Star,Fork,Watch) 前言 最近在做社交的业务,用户进入首页后需要查询附近的人: 项目状况:前期尝 ...

  6. SpringBoot实现分页查询

    SpringBoot实现分页查询 在SpringBoot整合MyBatis-plus实现分页查询 1.创建一个配置类MyBatisPlusConfig 配置类的作用是创建Mybatis-plus的拦截 ...

  7. SpringBoot+Mybatis+Elasticsearch 实现模糊分页查询并标记关键字

    SpringBoot 整合 Elasticsearch 实现模糊分页查询并标记关键字 一.概述 & 介绍 Elasticsearch 是基于 Lucense 技术的搜索引擎(服务器),将数据进 ...

  8. SpringBoot使用SpringDataJPA通过@Query注解多对多分页查询

    文章目录 SpringBoot使用JPA@Query注解查询 1. 环境配置 2. 数据库表配置 3. 实体类配置 4. Dao代码 5. Service 代码 6. Controller 代码 7. ...

  9. 【Springboot学习笔记】SpringBoot+Mybatis+Thymeleaf+Layui数据表单从零开始实现按条件模糊分页查询的方法

    [Springboot学习笔记]SpringBoot+Mybatis+Thymeleaf+Layui数据表单从零开始实现按条件模糊分页查询的方法 目录 1.搭建环境 1.1直接从网上下载SpringB ...

最新文章

  1. 效率达CPU一万倍的神经形态芯片发布后,英特尔引发了多方吐槽
  2. vue 实例化几种方式_Vue组件的三种调用方式
  3. for in在python中什么意思_python for in中的in
  4. (Spring程序开发)简介程序开发步骤配置文件相关API
  5. MVVM架构~knockoutjs系列之包括区域级联列表的增删改
  6. react开发模式_通过开发带有精灵动画的游戏来学习高级React模式
  7. 数据结构与算法-字典的时间复杂度
  8. 来自一位程序员女友的内心独白
  9. 物流系统车辆仓库定位的实现——基于RFID定位的实现方法
  10. AJAX请求时status返回状态明细表 readyState的五种状态
  11. Spring Cloud(4):Feign的使用
  12. findmnt-寻找挂载的文件系统
  13. Django python session配置和用法
  14. 给硬盘分个整数大小的区
  15. 阿里maven仓库地址
  16. U盘文件夹被病毒隐藏,且不能取消解决办法
  17. 【latex】.tex文件去tracked changes
  18. Django 国际化翻译中的 gettext 和 gettext_lazy
  19. 信息系统项目管理师计算题(期望值)
  20. 北大教授的美国博士生涯:学术是自由灵魂的分泌物

热门文章

  1. Python实践教程--列表与元组
  2. html自定义列表图标,自定义列表项符号list-style-image详解
  3. 有关并发和并行的问题解析
  4. v4l2-framework.txt中文翻译
  5. 名词性物主代词在英语中担当的成分
  6. arduino调试BNO080高精准度九轴传感器模块
  7. MFC Tab背景颜色及窗体内控件背景颜色更改
  8. 5.2万个!5G上市企业专利最新排行!
  9. 伦敦银,基本面投资分析技巧
  10. 你真的了解java吗?java总结六