SpringBoot + MyBatis Plus 分页功能完整实战

发布时间:2026/10/11 5:08:55
SpringBoot + MyBatis Plus 分页功能完整实战 本文记录我在二手交易平台项目中实现分页功能的完整过程从依赖到代码附踩坑。一、为什么要分页商品列表数据多了一次全查出来数据库压力大前端渲染慢用户看不完分页每次只查一页的数据按需加载。二、加依赖MyBatis Plus 3.5.9 之后分页插件被拆到了独立依赖光有 starter 不够。在 pom.xml 加!-- MyBatis Plus 分页插件依赖3.5.9 需要单独引入 --dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-jsqlparser/artifactIdversion3.5.16/version/dependency三、配置分页插件新建 config/MyBatisPlusConfig.javapackagecom.example.secondhand_shop.config;importcom.baomidou.mybatisplus.annotation.DbType;importcom.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;importcom.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;ConfigurationpublicclassMyBatisPlusConfig{BeanpublicMybatisPlusInterceptormybatisPlusInterceptor(){MybatisPlusInterceptorinterceptornewMybatisPlusInterceptor();// 添加分页插件interceptor.addInnerInterceptor(newPaginationInnerInterceptor(DbType.MYSQL));returninterceptor;}}四、ProductMapper 加分页联查方法普通分页不会联查分类名要自定义 SQLSelect(SELECT p.*, c.name AS categoryName FROM product p LEFT JOIN category c ON p.category_id c.id)IPageProductpageWithCategory(PageProductpage);注意参数是 Page返回值是 IPage。五、ProductService 加分页方法publicPageProductpageProduct(IntegerpageNum,IntegerpageSize){PageProductpagenewPage(pageNum,pageSize);return(PageProduct)getBaseMapper().pageWithCategory(page);}为什么不用 return page(page)因为 page(page) 走默认查询不会联查分类名categoryName 会是 null。六、ProductController 加分页接口GetMapping(/page)publicResponseResultPageProductpage(RequestParam(defaultValue1)IntegerpageNum,RequestParam(defaultValue5)IntegerpageSize){returnResponseResult.success(productService.pageProduct(pageNum,pageSize));}踩坑/page 要放在 /{id} 前面否则 Spring 会优先匹配 /{id}把 page 当成 id。七、踩坑汇总八、总结分页三步加依赖 mybatis-plus-jsqlparser配插件 PaginationInnerInterceptor写代码 Mapper 自定义 SQL Service 调 pageWithCategory Controller 加 /page 接口完整跑通后商品列表性能大大提升用户也能翻页了。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询