如题:

mybatis-plus整合了很多我们无需重复操作的功能,直接使用即可,下面举出两个分页的例子。

1.默认无条件分页查询

public abstract IService<T> getIService();/*** 分页查询* @param current* @param size* @return*/
@SuppressWarnings({ "unchecked", "rawtypes" })
@PostMapping("/page")
@ApiOperation(value="分页查询", notes="比如:当前第1页查询10条数据,则current=1,size=10")
@ApiImplicitParams({@ApiImplicitParam(name = "current", value = "当前第几页", required = true, dataType = "Integer"),@ApiImplicitParam(name = "size", value = "查询几条", required = true, dataType = "Integer")
})
public ResponseResult<?> page(@RequestParam Integer current, @RequestParam Integer size) {Page<T> page = new Page(current, size);return ResponseUtils.success(getIService().page(page));
}

只需要传入current和size即可查询出实体表的对应分页数据,测试截图如下:

2.自定义带条件分页查询

首先,自定义一个支持类,将所有需要的字段准备进去。

package com.bbnet.demo.vo;import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;@ApiModel(value="Area查询参数对象")
@Data
public class AreaReqParams{@ApiModelProperty(value = "名称", dataType = "String")private String name;@ApiModelProperty(value = "类型 1=省会/直辖市 2=城市 3=区县", dataType = "Integer")private Integer type;@ApiModelProperty(value = "当前第几页", dataType = "Integer")Integer current;@ApiModelProperty(value = "查询几条", dataType = "Integer")Integer size;}

然后,service和impl对该类中的字段进行赋值使用。

package com.bbnet.demo.service;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bbnet.demo.vo.Area;
import com.bbnet.demo.vo.AreaReqParams;public interface AreaService extends IService<Area> {Page<Area> pageByConditions(AreaReqParams t);}
package com.bbnet.demo.service.impl;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bbnet.demo.mapper.AreaMapper;
import com.bbnet.demo.service.AreaService;
import com.bbnet.demo.vo.Area;
import com.bbnet.demo.vo.AreaReqParams;@Service
public class AreaServiceImpl extends ServiceImpl<AreaMapper, Area> implements AreaService {@Autowiredprivate AreaMapper areaMapper;@SuppressWarnings({ "unchecked", "rawtypes" })@Overridepublic Page<Area> pageByConditions(AreaReqParams t) {Page<Area> page = new Page(t.getCurrent(), t.getSize());QueryWrapper<Area> wrapper = new QueryWrapper<>();wrapper.eq("type", t.getType());wrapper.like("name", t.getName());return this.page(page, wrapper);}}

最后,controller使用该支持类与请求方交互。

/*** 分页查询* @param current* @param size* @return*/
@SuppressWarnings("unchecked")
@PostMapping("/pageByConditions")
@ApiOperation(value="分页条件查询", notes="比如:当前第1页查询10条数据,则current=1,size=10")
public ResponseResult<Area> pageByConditions(@RequestBody AreaReqParams t) {return ResponseUtils.success(areaService.pageByConditions(t));
}

测试请求报文为:

{"current": 0,"name": "省","size": 10,"type": 1
}

测试截图为:

springboot集成mybatis-plus分页查询+条件分页查询相关推荐

  1. Springboot集成mybatis通用Mapper与分页插件PageHelper

    Springboot集成mybatis通用Mapper与分页插件PageHelper 插件介绍 通用 Mapper 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及 ...

  2. SpringBoot集成Mybatis项目实操

    本文为<从零打造项目>系列第三篇文章,首发于个人网站. <从零打造项目>系列文章 比MyBatis Generator更强大的代码生成器 SpringBoot项目基础设施搭建 ...

  3. SpringBoot集成Mybatis Plus

    Mybatis Plus是Mybatis的升级版本,提供一些默认的功能实现,只要按照其约定编写代码,就可以充分利用其特性. SpringBoot集成Mybatis Plus步骤: 每个实体类定义一套M ...

  4. SpringBoot----[16]—SpringBoot集成MyBatis

    SpringBoot----[16]-SpringBoot集成MyBatis 集成Mybatis 新建maven project 新建一个maven project,取名为:spring-boot-m ...

  5. java整合mybatis,springboot集成mybatis

    # springboot集成mybatis springboot基础mybatis还是很简单的,比之前springmvc集成mybatis要少很多配置,只要大家按照步骤一步一步来,几分钟就 能实现.具 ...

  6. springboot集成mybatis源码分析-mybatis的mapper执行查询时的流程(三)

    springboot集成mybatis源码分析-mybatis的mapper执行查询时的流程(三) 例: package com.example.demo.service;import com.exa ...

  7. springboot集成mybatis源码分析-启动加载mybatis过程(二)

    springboot集成mybatis源码分析-启动加载mybatis过程(二) 1.springboot项目最核心的就是自动加载配置,该功能则依赖的是一个注解@SpringBootApplicati ...

  8. springboot集成mybatis源码分析(一)

    springboot集成mybatis源码分析(一) 本篇文章只是简单接受使用,具体源码解析请看后续文章 1.新建springboot项目,并导入mybatis的pom配置 配置数据库驱动和mybat ...

  9. 一个项目了解 SpringBoot 集成 MyBatis

    SpringBoot 集成 MyBatis 创建项目 1.引入依赖 mybatis-spring-boot-starter 依赖 完整的 pom.xml 2.配置文件 加入mybatis配置 完整的配 ...

  10. SpringBoot教程(十一) | SpringBoot集成Mybatis

    上一篇文章我们介绍了SpringBoot集成JdbcTemplate.简单体验了一下JdbcTemplate框架的用法,今天的内容比较重要,我们来介绍一下SpringBoot集成Mybatis的步骤. ...

最新文章

  1. Web前端工程师的一些常见误区
  2. Xilinx IP核之FIFO
  3. AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)
  4. qqkey获取原理_获取QQKEY源码[C++版]
  5. 如何用 Python + Scrapy 爬取视频?
  6. 曲奇饼案例运营管理_昆仑海岸 农村生活污水处理设施智慧运营管理项目荣获典型案例奖...
  7. 树莓派UART串口编程--使用wiringPi库-C开发【1-基础应用】
  8. aspx 修改了样式但是在点击按钮后被刷新_产品经理教程-Axure RP 9 基础操作(元件、布局、草图、样式)...
  9. leetcode190-颠倒二进制位
  10. python显示代码行数_python实现的代码行数统计代码
  11. android指南针校准 代码_Android 指南针传感器
  12. 使用Excel公式,获取 当前 Excel 文件 的 名字
  13. 循环取矩阵的某行_一文搞懂RNN(循环神经网络)基础篇
  14. Mysql优化(出自官方文档) - 第十二篇(优化锁操作篇)
  15. 安装部署VMware vSphere 为IBM x3850 X5服务器安装配置VMware ESXi
  16. Pygame教程系列一:快速入门篇
  17. 一句话理解cmp_to_key函数
  18. eigen一维向量_Eigen中的矩阵及向量运算
  19. 心力:创业者和管理者如何在事与难中精进(附提升心力的12种方法)
  20. Cef开发学习 - Windows平台简易的Cef浏览器,支持下载管理和多标签管理

热门文章

  1. 循环practice
  2. Java基础知识小练习合集
  3. 4年测试经验去面试10分钟就被pass,测试现在要求这么高了?
  4. 黑客术语肉鸡、后门、弱口令、shell、webshell、注入、端口、免杀、加壳、漏洞等
  5. linux美元符号切换为井号,MyBatis中井号与美元符号的区别
  6. 荣耀手表显示无法连接服务器,荣耀手表S1配对失败该怎么分析原因并解决?
  7. TensorBoard 使用记录 (保存图片)
  8. 一种基于计算机网络的流媒体,基于网络计算机的流媒体播放器的研究与实现.pdf...
  9. linux系统一般用来干嘛
  10. K8s安装遇见问题笔记