Mybatis Plus 分页功能

配置MP的分页插件

固定格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
 * 配置MP的分页插件
 */
@Configuration
public class MybatisPlusConfig {
 
    //添加插件
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
        mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return mybatisPlusInterceptor;
    }
}

  

使用MP的分页功能

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
 * 员工信息分页查询
 * @param page
 * @param pageSize
 * @param name
 * @return
 */
@GetMapping("/page")
public R<Page> page(int page,int pageSize,String name){
 
    //构造分页构造器
    Page pageinfo = new Page(page,pageSize);
    //构造条件构造器
    LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper();
    queryWrapper.like(StringUtils.isNotEmpty(name),Employee::getUsername,name);
    queryWrapper.orderByDesc(Employee::getUpdateTime);
    //执行查询
    employeeService.page(pageinfo,queryWrapper);
    return R.success(pageinfo);
}

  

前端使用get方法携带参数page,pageSize,name(可选)请求分页数据

首先new一个分页构造器,将page和pageSize传入,实际上是new一个Page类,里面有前端使用分页数据的统一属性。

接下来new一个条件构造器,主要是针对有name的情况下的查询。

queryWrapper.like有一个3参数的方法,参数1是condition,在满足参1的情况下,才会对参2和参3进行比较。

MP封装好的Service下的page方法,将page对象和查询条件传入,即可将查询到的数据返回至page对象。

再将page对象传至前端即可。

 

posted @   小超和你  阅读(303)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示