springBoot使用mybatis-plus插件实现分页过程
分页功能几乎是后端开发中的标配。Mybatis-Plus 提供的分页插件用起来非常顺手,配置简单、逻辑清晰。下面直接来看完整的实现过程,从项目结构到代码落地,一步到位。 一、项目结构 二、pom.xml 依赖添加 (这里添加到 krystal_dao 模块的 pom.xml 中;单模块项目直接加在根
分页功能几乎是后端开发中的标配。Mybatis-Plus 提供的分页插件用起来非常顺手,配置简单、逻辑清晰。下面直接来看完整的实现过程,从项目结构到代码落地,一步到位。
一、项目结构

二、pom.xml 依赖添加
(这里添加到 krystal_dao 模块的 pom.xml 中;单模块项目直接加在根 pom.xml,多模块项目则根据实际情况放到对应模块的配置文件里。)
com.baomidou mybatis-plus 3.0-beta
三、新建 MyBatisPlusConfig.ja va
(建议把配置类放在专门的功能模块里,所需的依赖按编译报错提示逐个添加即可。)

package com.dm.krystal.core.config;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @author krystal
*/
@Configuration
/*@MapperScan("com.dm.krystal")*/ /* KrystalApiApplication启动类上已写,此处不再重复 */
public class MyBatisPlusConfig {
/**
* mybatis-plus分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
return paginationInterceptor;
}
}
四、具体代码实现
1. Controller
IPagepageData = examinationPaperRelevanceService.getExaminationPaperPageByQueryVO(page, examinationPaperQueryVO);
2. Service 接口
IPagegetExaminationPaperPageByQueryVO(Page page, ExaminationPaperQueryVO examinationPaperQueryVO);
3. Service 实现类
@Override public IPagegetExaminationPaperPageByQueryVO(Page page, ExaminationPaperQueryVO examinationPaperQueryVO) { return this.baseMapper.getExaminationPaperPageByQueryVO(page, examinationPaperQueryVO); }
4. Mapper (DAO 接口)
IPagegetExaminationPaperPageByQueryVO(Page page, @Param("examinationPaperQueryVO") ExaminationPaperQueryVO examinationPaperQueryVO);
5. Mapper XML
五、SQL 打印

执行结果:

六、自定义分页(已有100条数据,每次截取十条)
IPagepageData = PageUtil.listToPage(paperList, page.getCurrent(), page.getSize());
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import ja va.util.ArrayList;
import ja va.util.List;
import ja va.util.concurrent.atomic.LongAccumulator;
@Slf4j
public class PageUtil {
public static IPage listToPage(List list, long pageNum, long pageSize){
IPage iPage = new Page<>(pageNum, pageSize);
iPage.setTotal(list.size());
int startIndex = (int)((pageNum - 1) * pageSize);
if (null == list || list.isEmpty() || startIndex > list.size()) {
iPage.setRecords(new ArrayList<>());
} else {
int toIndex = (int)(pageNum * pageSize);
iPage.setRecords(list.subList(startIndex, toIndex > list.size() ? list.size() : toIndex));
}
return iPage;
}
}
总结
以上就是利用 Mybatis-Plus 分页插件在 SpringBoot 中实现分页的完整流程,从依赖配置、插件注册到业务代码的编写,以及针对内存列表的自定义分页工具类,都一并覆盖了。按此步骤操作,可以快速给项目加上稳定高效的分页能力。
SketchUp Pro 是面向建筑、室内、景观及产品设计工作的专业三维建模套件,提供直观的推拉建模、精准尺寸控制、二维文档制作、模型资源库、扩展插件和云端协作能力。Mac 用户可使用桌面建模器与 LayOut。
Twinmotion是Epic Games推出的实时三维可视化软件,主要服务于建筑、景观、室内设计、城市规划及施工展示。它可导入常见CAD、BIM和三维模型,利用材质、植被、人物、天气与灯光资源快速搭建场景。
Vectorworks Architect是一款面向建筑师、室内设计师及AEC团队的专业BIM设计软件,可在统一环境中完成概念草图、二维制图、三维建模、建筑信息管理、施工文档和效果展示,并支持IFC、Revit、DWG、SketchUp及点
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。














