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对象传至前端即可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库