- 先看目录结构

- 在配置文件中 配置 分页插件 版本为 3.0.5
//配置分页插件
// 旧版
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
// 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false
// paginationInterceptor.setOverflow(false);
// 设置最大单页限制数量,默认 500 条,-1 不受限制
// paginationInterceptor.setLimit(500);
// 开启 count 的 join 优化,只针对部分 left join
// paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
return paginationInterceptor;
}- 分页查询功能

4.带条件的分页查询功能

// 条件查询 带分页
@ApiOperation("条件查询带分页")
@PostMapping("pageWhere/{current}/{limit}")
public R pageWhere(@PathVariable Long current, @PathVariable Long limit,
@RequestBody(required = false) TeacherQuery teacherQuery){
//创建一个分页对象 一般post 都是使用一个类文件接受相对应的参数
Page<EduTeacher> objectPage = new Page<>(current,limit);
//构造查询条件
QueryWrapper<EduTeacher> objectQueryWrapper = new QueryWrapper<>();
String name = teacherQuery.getName();
Integer level = teacherQuery.getLevel();
String begin = teacherQuery.getBegin();
String end = teacherQuery.getEnd();
if(!StringUtils.isEmpty(name)){
objectQueryWrapper.like("name",name);
}
if(!StringUtils.isEmpty(level)){
objectQueryWrapper.eq("level",level);
}
if(!StringUtils.isEmpty(begin)){
objectQueryWrapper.like("gmt_create",name);
}
if(!StringUtils.isEmpty(end)){
objectQueryWrapper.like("gmt_create",end);
}
//调用方法 使用分页
eduTeacherService.page(objectPage, objectQueryWrapper);
long total = objectPage.getTotal(); //总记录数
List<EduTeacher> records = objectPage.getRecords(); //集合
return R.ok().data("total",total).data("list",records);
}- TeacherQuery 类
package com.school.eduservice.entity.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @User: Json
* @Date: 2021/11/21
**/
@Data
public class TeacherQuery {
@ApiModelProperty(value = "姓名")
private String name; //姓名
@ApiModelProperty(value = "等级")
private Integer level; //等级
@ApiModelProperty(value = "开始时间")
private String begin; //开始时间 使用String 类型 前端传过来无需转换
@ApiModelProperty(value = "结束时间")
private String end; // 结束时间
}
















