发布于2026-07-12 阅读(0)
扫一扫,手机访问
分页功能几乎是后端开发中的标配。Mybatis-Plus 提供的分页插件用起来非常顺手,配置简单、逻辑清晰。下面直接来看完整的实现过程,从项目结构到代码落地,一步到位。

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

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

执行结果:

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 中实现分页的完整流程,从依赖配置、插件注册到业务代码的编写,以及针对内存列表的自定义分页工具类,都一并覆盖了。按此步骤操作,可以快速给项目加上稳定高效的分页能力。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8