文章目录
需求分析
代码开发
测试前端数据
我们只是刷新主页面,前端就会查询返回page数据,我们要写逻辑实现
配置MP的分页插件
编写MybatisPlusConfig.java
package com.taotao.reggie.controller;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* create by 刘鸿涛
* 2022/5/30 20:53
* 配置MP的分页插件
*/
@SuppressWarnings({
"all"})
@Configuration //因为是个配置类,所以加个Configuration注解
public class MybatisPlusConfig {
//Interceptor:拦截器
@Bean //需要Spring来管理,所以加了Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return mybatisPlusInterceptor;
}
}
编写分页查询方法
编写EmployeeController.java
/**
* 员工信息分页查询
* @param page
* @param pageSize
* @param name
* @return
*/
//因为前端是一个Get请求,所以GetMapping
@GetMapping("/page") //因为类上RequestMapping有("/employee"),所以我们直接("/page")
//泛型Page是MP封装的一个类
public R<Page> page(int page,int pageSize,String name){
//注意,这里的name参数是根据前端参数来得,name是根据姓名查询的参数
log.info("page = {},pageSize = {},name = {}",page,pageSize,name); //{ }是Slf4j注解log.info方法里的占位符
return null;
}
测试正常
加入name参数
完善分页查询方法
/**
* 员工信息分页查询
* @param page
* @param pageSize
* @param name
* @return
*/
//因为前端是一个Get请求,所以GetMapping
@GetMapping("/page") //因为类上RequestMapping有("/employee"),所以我们直接("/page")
//泛型Page是MP封装的一个类
public R<Page> page(int page,int pageSize,String name){
//注意,这里的name参数是根据前端参数来得,name是根据姓名查询的参数
log.info("page = {},pageSize = {},name = {}",page,pageSize,name); //{ }是Slf4j注解log.info方法里的占位符
//构造分页构造器
Page pageInfo = new Page(page, pageSize);
//构造条件构造器(是否传入name)
LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper();
//添加过滤条件,name不等于空
queryWrapper.like(StringUtils.isNotEmpty(name),Employee::getName,name);
//添加排序条件
queryWrapper.orderByDesc();
//执行查询
employeeService.page(pageInfo,queryWrapper);
return R.success(pageInfo);
}
功能测试
测试成功
分页条设置 - vue
默认是10条数据一页,我们可以设置1条数据一页测试