springBoot使用mybatis-plus插件實(shí)現(xiàn)分頁(yè)過程
一、項(xiàng)目結(jié)構(gòu)

二、pom.xml 依賴添加
(這里我是加在krystal_dao的pom.xml里面,單個(gè)項(xiàng)目,直接加在pom.xml,多模塊根據(jù)自己項(xiàng)目情況添加)
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.0-beta</version>
</dependency>三、新建MyBatisPlusConfig.java
(這里我用專門一個(gè)模塊添加一些功能代碼,里面依賴自己根據(jù)報(bào)錯(cuò)添加進(jìn)去即可)

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在啟動(dòng)文件上寫了,這里不加*/
public class MyBatisPlusConfig {
/**
* mybatis-plus分頁(yè)插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
return paginationInterceptor;
}
}四、具體代碼實(shí)現(xiàn)
1.controller
IPage<ExaminationPaperRelevancePO> pageData = examinationPaperRelevanceService.getExaminationPaperPageByQueryVO(page,examinationPaperQueryVO);
2.service
IPage<ExaminationPaperRelevancePO> getExaminationPaperPageByQueryVO(Page page, ExaminationPaperQueryVO examinationPaperQueryVO);
3.serviceImp
@Override
public IPage<ExaminationPaperRelevancePO> getExaminationPaperPageByQueryVO(Page page, ExaminationPaperQueryVO examinationPaperQueryVO) {
return this.baseMapper.getExaminationPaperPageByQueryVO(page,examinationPaperQueryVO);
}4.dao
IPage<ExaminationPaperRelevancePO> getExaminationPaperPageByQueryVO(Page page, @Param("examinationPaperQueryVO")ExaminationPaperQueryVO examinationPaperQueryVO);5. .xml
<select id="getExaminationPaperPageByQueryVO" resultType="com.eebbk.core.pojo.vo.ExaminationPaperCatalogVO">
select
a.id,a.paper_id,a.publisher_id,
a.publisher_name,a.grade_id,a.grade_name,
a.semester_id,a.semester_name,
a.subject_id,a.section_id,a.source_type,
a.province_id,a.province_name,a.city_id,
a.city_name,a.`order`,a.staged_type as stageTypeId,a.school_type
from t_examination_paper_relevance a
</select>五、sql 打印

結(jié)果

六、自定義分頁(yè)(已有100條數(shù)據(jù),每次截取十條)
IPage<ExaminationPaperPO> pageData = 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 java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.LongAccumulator;
@Slf4j
public class PageUtil {
public static <T> IPage<T> listToPage(List<T> list, long pageNum, long pageSize){
IPage<T> 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;
}
}
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- SpringBoot使用Mybatis-Plus中分頁(yè)插件PaginationInterceptor詳解
- SpringBoot+MyBatis-Plus進(jìn)行分頁(yè)查詢與優(yōu)化
- SpringBoot+Mybatis-plus實(shí)現(xiàn)分頁(yè)查詢的示例代碼
- SpringBoot+MyBatis-Plus實(shí)現(xiàn)分頁(yè)示例
- Springboot整合mybatis-plus使用pageHelper進(jìn)行分頁(yè)(使用步驟)
- SpringBoot+MyBatis-Plus實(shí)現(xiàn)分頁(yè)的項(xiàng)目實(shí)踐
- SpringBoot中使用MyBatis-Plus實(shí)現(xiàn)分頁(yè)接口的詳細(xì)教程
- SpringBoot+MyBatis-Plus實(shí)現(xiàn)分頁(yè)功能
相關(guān)文章
Java使用Spire.Doc for Java實(shí)現(xiàn)自動(dòng)化合并Word文檔
在日常辦公和軟件開發(fā)中,我們經(jīng)常會(huì)遇到需要將多個(gè) Word 文檔合并成一個(gè)的需求,本文將聚焦于 Spire.Doc for Java 這一功能強(qiáng)大的庫(kù),為您提供詳細(xì)的教程和實(shí)用的代碼示例,希望對(duì)大家有所幫助2025-12-12
基于SpringBoot實(shí)現(xiàn)Web應(yīng)用的登錄與退出功能
登錄與退出功能作為 Web 應(yīng)用中的基礎(chǔ)且重要的組成部分,直接關(guān)系到用戶的安全和隱私保護(hù),所以本文給大家介紹了基于SpringBoot實(shí)現(xiàn)Web應(yīng)用的登錄與退出功能,文中有詳細(xì)的代碼供大家參考,需要的朋友可以參考下2024-04-04
springboot中ApplicationRunner執(zhí)行順序問題小結(jié)
SpringBoot中ApplicationRunner用于應(yīng)用啟動(dòng)后執(zhí)行初始化任務(wù),通過@Order注解可控制多個(gè)Runner的執(zhí)行順序,數(shù)值越小越優(yōu)先,下面就一起來了解一下2025-06-06
Java中的MapStruct實(shí)現(xiàn)詳解
這篇文章主要介紹了Java中的MapStruct實(shí)現(xiàn)詳解,MapStruct 是一個(gè)代碼生成器,它基于約定優(yōu)先于配置的方法大大簡(jiǎn)化了 JavaBean 類型之間映射的實(shí)現(xiàn),生成的映射代碼使用普通方法調(diào)用,需要的朋友可以參考下2023-11-11
文件上傳SpringBoot后端MultipartFile參數(shù)報(bào)空問題的解決辦法
這篇文章主要介紹了文件上傳SpringBoot后端MultipartFile參數(shù)報(bào)空問題的解決辦法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11

