springboot 分页查询参数_SpringBoot整合Mybatis关于分页查询的方法
最近公司在用到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的一个自 ...
[深入Python]__new__和__init__
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 + Eclipse + 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关于分页查询的方法相关推荐
- springboot动态切换数据源_Springboot整合Mybatis注解实现动态数据源切换
AbstractRoutingDataSource AbstractRoutingDataSource是spring-jdbc包提供的一个了AbstractDataSource的抽象类,它实现了Dat ...
- Spring Boot2.0 整合mybatis、分页插件、druid
2019独角兽企业重金招聘Python工程师标准>>> 前言 本文主要是针对SpringBoot2.0.2版本,实现整合mybatis.分页插件.druid等组件,实现完整的web服 ...
- Spring整合Mybatis之关联查询示例
Spring整合Mybatis之关联查询示例 目录结构: Dept表: employee表: pojo包 Dept.java(实体类): package com.xmm.springboot_lab. ...
- springboot 引入jdbc驱动_SpringBoot整合jdbc、durid、mybatis详解,数据库的连接就是这么简单...
SpringBoot底层统一采用SpringData处理数据库,这一章主要来讲一下SpringBoot整合jdbc.durid.mybatis的方式. (一)整合jdbc 整合jdbc主要有三步: 1 ...
- springboot update数据_SpringBoot整合Mybatis+Druid+数据库(注解版)
运行展示 正题 Spring boot :2.1.5RELEASE :数据库(Mysql.Oracle):Mybatis:阿里云的连接池 : Druid : 步骤 1.POM依赖 <!-- My ...
- SpringBoot 2.1.5(36)---整合Mybatis
一起来学 SpringBoot 2.x | 第七篇:整合Mybatis MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射,几乎避免了所有的 JDBC 代码和手动设置参 ...
- jpa多表关联查询_Spring Boot 整合mybatis如何自定义 mapper 实现多表关联查询
上一篇文章已经介绍了自定义 mapper 实现自定义的方法,其实实现了通过自定义的mapper就可以做多表关联等复杂查询.但是很多朋友还是反馈说没有实现多表关联查询,所以,今天把文章又重新修改了,增加 ...
- mybatis注册了mapper但是还是报错_springboot整合Mybatis
五.springboot整合Mybatis 官方文档:http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/ ...
- mybatis 一对多_Springboot整合Mybatis实现级联一对多CRUD操作
在关系型数据库中,随处可见表之间的连接,对级联的表进行增删改查也是程序员必备的基础技能.关于Spring Boot整合Mybatis在之前已经详细写过,不熟悉的可以回顾Spring Boot整合Myb ...
- mysql8.0用mybatis哪个版本_SpringBoot整合MyBatis与MySql8.0
一.前言 之前已经有一篇文章讨论过SpringBoot整合MyBatis,因而此篇不在重复累赘,本文主要是最新版的SpringBoot2.0与MyBatis.最新MySQL8.0整合过程中遇到的问题进 ...
最新文章
- 拼多多再起波澜!某程序员匿名发布拼多多楼下救护车照片,却被揪出开除!...
- IT公司老板落水,各部门员工怎么救?
- CSS常用的选择器和优先级的权重问题
- 23期PHP基础班第四天
- 移动前端开发之viewport的深入理解(转)
- 用户故事与敏捷方法笔记---Scrum与用户故事
- 李炎恢PHP高端培训视频教程
- ELK Logstash 自定义正则模式patterns_dir
- python 多线程 假的_天啦噜!Python多线程居然是骗人的
- C#按钮添加图片的解决
- 关于Andriod org.gradle.api.tasks.TaskExecutionException: Execution failed for task 问题及解决办法
- Java关于LocalDate、LocalTime、LocalDateTime类的详细讲解
- Datagrip数据库连接工具—新建folder操作
- Linux修改时间失败的解决办法
- 数据库修改密码的几种方法
- ZooKeeper各个版本下载
- python中怎么创建配置文件,python怎么读取配置文件
- 元宇宙的运行之“DAO”:在元宇宙中创作、分享,付出的劳动如何获得回报?...
- 点亮led灯的个数_LED灯的点亮电流一般是多少
- 生死单元技术!如何在abaqus焊接仿真中的应用