最近公司在用到SpringBoot整合Mybatis时当web端页面数据增多时需要使用分页查询以方便来展示数据。本人对分页查询进行了一些步骤的总结,希望能够帮助到有需要的博友。如有更好的方式,也希望评论留言,本人以作更好的改进。

SpringBoot+Mybatis+PageHelper实现分页

以下介绍实战中数据库框架使用的是mybatis,对整合mybatis此处不做介绍。

使用pageHelper实现分页查询其实非常简单,共三步:

一、导入依赖;

推荐博友可以上maven中央仓库去找合适的版本进行PageHelper的依赖导入

进入maven中央仓库后在搜索框搜索PageHelper,选择合适的版本

pagehelper支持多种数据库:Oracle,MySql,MariaDB,SQLite,DB2,PostgreSQL,SqlServer 等

在这里我们选择pageHelper-spring-boot-starter

,点击进入后根据项目需要选择版本,在这里我选择1.2.12的最新版本

复制maven依赖,添加至项目的pom.xml中

至此,PageHelper插件就引入完成。

二、添加配置;

aplication.yml或aplication.xml中添加配置:

配置项说明:

1.helperDialect:指定数据库

2.reasonable:默认是false。启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages(最大页数)会查询最后一页。

禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据

3.supportMethodsArguments:是否支持接口参数来传递分页参数,默认false

4.params:为了支持startPage(Object params)方法,增加了该参数来配置参数映射,用于从对象中根据属性名取值,

可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值,

默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero

其余参数详情请看官方文档:https://pagehelper.github.io/docs/howtouse

除此之外介绍另外一种方法:

编写分页bean类,注意:这个类一定要放在springboot启动类所在位置的平级或子级的包中,保证能springboot扫描到。

import java.util.Properties;

import org.apache.ibatis.plugin.Interceptor;

import org.mybatis.spring.SqlSessionFactoryBean;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import com.github.pagehelper.PageHelper;

@Configuration

public class PageHelperBean {

@Bean

PageHelper pageHelper(){

//分页插件

PageHelper pageHelper = new PageHelper();

Properties properties = new Properties();

properties.setProperty("reasonable", "true");

properties.setProperty("supportMethodsArguments", "true");

properties.setProperty("returnPageInfo", "check");

properties.setProperty("params", "count=countSql");

pageHelper.setProperties(properties);

//添加插件

new SqlSessionFactoryBean().setPlugins(new Interceptor[]{pageHelper});

return pageHelper;

}

}

本人使用第一种方式(推荐使用)

三、在程序代码中使用分页查询;

<1>.接口层(Mapper层)代码展示:

<2.>业务层(service层)代码展示:

注:使用PageHelper.startPage()方法设置分页:pageCount:当前页数  pageSize:每页显示的总记录数

<3.>控制器层(controller层)代码展示:

使用postman工作对方法进行测试:

get请求,输入参数后进行测试

测试结果如下:

当传入参数pageCount=1,pageSize=3时,total记录为4,进行了分页操作,第一个记录了三条数据,共两页

总结: 使用pagehelper插件后写sql时不需要再在mapper.xml文件中写分页,简化了代码,提高开发效率

spring-boot 集合mybatis 的分页查询

spring-boot 集合mybatis 的github分页查询 一.依赖包

Springboot整合Mybatis 之分页插件使用

1: 引入jar包 com.github.pagehelper

SpringBoot 整合 Elasticsearch深度分页查询

es 查询共有4种查询类型 QUERY_AND_FETCH: 主节点将查询请求分发到所有的分片中,各个分片按照自己的查询规则即词频文档频率进行打分排序,然后将结果返回给主节点,主节点对所有数据进行汇总 ...

SpringBoot整合MyBatis完成用户查询

接上面工程代码,可以参考:https://www.cnblogs.com/braveym/p/11349409.html 1 .在 mapper 接口中以及映射配置文件中添加相关代码 修改UserMa ...

SpringBoot整合MyBatis的分页插件PageHelper

1.导入依赖(maven) com.github.pagehelper

SpringBoot整合mybatis使用pageHelper插件进行分页操作

SpringBoot整合mybatis分页操作 SpringBoot整合Mybatis进行分页操作,这里需要使用Mybatis的分页插件:pageHelper, 关于pageHelper的介绍,请查看 ...

SpringBoot整合Mybatis之项目结构、数据源

已经有好些日子没有总结了,不是变懒了,而是我一直在奋力学习springboot的路上,现在也算是完成了第一阶段的学习,今天给各位总结总结. 之前在网上找过不少关于springboot的教程,都是一些比 ...

SpringBoot整合Mybatis之进门篇

已经有好些日子没有总结了,不是变懒了,而是我一直在奋力学习springboot的路上,现在也算是完成了第一阶段的学习,今天给各位总结总结. 之前在网上找过不少关于springboot的教程,都是一些比 ...

springboot整合mybatis时无法读取xml文件解决方法(必读)

转    http://baijiahao.baidu.com/s?id=1588136004120071836&wfr=spider&for=pc 在springboot整合myba ...

随机推荐

在eclipse安装svn插件

1.在“帮助--安装新软件”中选中.我这个是中文版的,英文版的是“install new software”

几款开源的hybird移动app框架分析

几款开源的Hybrid移动app框架分析 Ionic Onsen UI 与 ionic 相比 jQuery Mobile Mobile Angular UI 结论 很多移动开发者喜欢使用原生代码开发, ...

Spring源码阅读系列总结

最近一段时间,粗略的查看了一下Spring源码,对Spring的两大核心和Spring的组件有了更深入的了解.同时在学习Spring源码时,得了解一些设计模式,不然阅读源码还是有一定难度的,所以一些重 ...

将kindeditor在线编辑器制作成smarty插件

在web开发中,在线编辑器是经常要用到的功能模块,虽说配置在线编辑器没有多大难度,但是每一次编写重复的代码,总是让人感觉不爽. 本篇,就来讲解一下,如何将kindeditor制作成smarty的一个自 ...

&lbrack;深入Python&rsqb;&lowbar;&lowbar;new&lowbar;&lowbar;和&lowbar;&lowbar;init&lowbar;&lowbar;

class A(object): def __init__(self): print "init" def __new__(cls,*args, **kwargs): print ...

15 things to talk about in a healthy relationship

15 things to talk about in a healthy relationship男女交往中可以谈论的15个话题 1. Your Daily Activities 1. 你的日常活动 ...

Cassandra &plus; Eclipse &plus; Hadoop

配置好eclipse连接hadoop: 参考:http://www.powerxing.com/hadoop-build-project-using-eclipse/ http://blog.csdn ...

Android 系统内置App JNI

说明 将Android应用作为系统内置遇到一些问题: 一个是使用Android源码的mmm命令生成的JNI名字和使用NDK生成的JNI的名字是不一样的: 另外就是AndroidManifest.xml ...

Objective-C基调(4)Category

OC它提供了一种不同的方式--Category,可以动态地添加新的行为已经存在的类(方法),这确保了较小的类的原始设计,然后逐渐加入扩展. 正在使用Category扩张的上课时间,你并不需要创建一个子 ...

drupal7 开发block

在自己开发的模块的module文件中,实现两个钩子:hook_block_info()和hook_block_view() function journal_block_info() { $block ...

springboot 分页查询参数_SpringBoot整合Mybatis关于分页查询的方法相关推荐

  1. springboot动态切换数据源_Springboot整合Mybatis注解实现动态数据源切换

    AbstractRoutingDataSource AbstractRoutingDataSource是spring-jdbc包提供的一个了AbstractDataSource的抽象类,它实现了Dat ...

  2. Spring Boot2.0 整合mybatis、分页插件、druid

    2019独角兽企业重金招聘Python工程师标准>>> 前言 本文主要是针对SpringBoot2.0.2版本,实现整合mybatis.分页插件.druid等组件,实现完整的web服 ...

  3. Spring整合Mybatis之关联查询示例

    Spring整合Mybatis之关联查询示例 目录结构: Dept表: employee表: pojo包 Dept.java(实体类): package com.xmm.springboot_lab. ...

  4. springboot 引入jdbc驱动_SpringBoot整合jdbc、durid、mybatis详解,数据库的连接就是这么简单...

    SpringBoot底层统一采用SpringData处理数据库,这一章主要来讲一下SpringBoot整合jdbc.durid.mybatis的方式. (一)整合jdbc 整合jdbc主要有三步: 1 ...

  5. springboot update数据_SpringBoot整合Mybatis+Druid+数据库(注解版)

    运行展示 正题 Spring boot :2.1.5RELEASE :数据库(Mysql.Oracle):Mybatis:阿里云的连接池 : Druid : 步骤 1.POM依赖 <!-- My ...

  6. SpringBoot 2.1.5(36)---整合Mybatis

    一起来学 SpringBoot 2.x | 第七篇:整合Mybatis MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射,几乎避免了所有的 JDBC 代码和手动设置参 ...

  7. jpa多表关联查询_Spring Boot 整合mybatis如何自定义 mapper 实现多表关联查询

    上一篇文章已经介绍了自定义 mapper 实现自定义的方法,其实实现了通过自定义的mapper就可以做多表关联等复杂查询.但是很多朋友还是反馈说没有实现多表关联查询,所以,今天把文章又重新修改了,增加 ...

  8. mybatis注册了mapper但是还是报错_springboot整合Mybatis

    五.springboot整合Mybatis 官方文档:http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/ ...

  9. mybatis 一对多_Springboot整合Mybatis实现级联一对多CRUD操作

    在关系型数据库中,随处可见表之间的连接,对级联的表进行增删改查也是程序员必备的基础技能.关于Spring Boot整合Mybatis在之前已经详细写过,不熟悉的可以回顾Spring Boot整合Myb ...

  10. mysql8.0用mybatis哪个版本_SpringBoot整合MyBatis与MySql8.0

    一.前言 之前已经有一篇文章讨论过SpringBoot整合MyBatis,因而此篇不在重复累赘,本文主要是最新版的SpringBoot2.0与MyBatis.最新MySQL8.0整合过程中遇到的问题进 ...

最新文章

  1. 拼多多再起波澜!某程序员匿名发布拼多多楼下救护车照片,却被揪出开除!...
  2. IT公司老板落水,各部门员工怎么救?
  3. CSS常用的选择器和优先级的权重问题
  4. 23期PHP基础班第四天
  5. 移动前端开发之viewport的深入理解(转)
  6. 用户故事与敏捷方法笔记---Scrum与用户故事
  7. 李炎恢PHP高端培训视频教程
  8. ELK Logstash 自定义正则模式patterns_dir
  9. python 多线程 假的_天啦噜!Python多线程居然是骗人的
  10. C#按钮添加图片的解决
  11. 关于Andriod org.gradle.api.tasks.TaskExecutionException: Execution failed for task 问题及解决办法
  12. Java关于LocalDate、LocalTime、LocalDateTime类的详细讲解
  13. Datagrip数据库连接工具—新建folder操作
  14. Linux修改时间失败的解决办法
  15. 数据库修改密码的几种方法
  16. ZooKeeper各个版本下载
  17. python中怎么创建配置文件,python怎么读取配置文件
  18. 元宇宙的运行之“DAO”:在元宇宙中创作、分享,付出的劳动如何获得回报?...
  19. 点亮led灯的个数_LED灯的点亮电流一般是多少
  20. 生死单元技术!如何在abaqus焊接仿真中的应用

热门文章

  1. 操作系统:操作系统装进U盘的图解教程
  2. office 2007安装包
  3. CnPack实用功能推荐
  4. 墨者学院 - IIS写权限漏洞分析溯源
  5. org.aspectj aspectjweaver 报错
  6. web第二章 namp和massan扫描技术
  7. 业务数据双中台助力实现大型医药集团
  8. Python游戏开发平台、脚本系统架构设计
  9. Winform控件开发(4)——Textbox(史上最全)
  10. wps的range对象