MyBatis-Plus?Page?分頁不生效的問題解決
1、可能原因
1)版本過低
2)需要增加 MybatisPlusInterceptor 配置
2、處理
1)引包,使用3.4.0 版本
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>2)配置, 根據(jù)使用的數(shù)據(jù)庫類型可自行更改DbType
@Configuration
public class MyBatisPlusConfig {
/**
* 插件配置
*
* @return
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 向MyBatis-Plus的過濾器鏈中添加分頁攔截器,需要設置數(shù)據(jù)庫類型(主要用于分頁方言)
// pg使用
//interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.POSTGRE_SQL));
// mysql使用
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
// 添加樂觀鎖攔截器
interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
return interceptor;
}
}補:其他原因
1、分頁插件未配置:
確保你已經(jīng)在 MyBatis-Plus 的配置中添加了分頁插件。如果你使用的是 Spring Boot,通常是在 MybatisPlusConfig 類中添加分頁插件的 Bean。
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
SQL 映射文件或 Mapper 接口中的方法問題:
如果你在 XML 映射文件中寫了自定義的 SQL,確保你沒有手動寫 LIMIT 和 OFFSET。分頁插件會自動為你處理這些。
這里還特別需要注意一下3.4版本里可能上面的配置方式不生效,可以嘗試下面的配置方式
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
2、調(diào)用方法時未正確設置 Page 對象:
在調(diào)用分頁方法之前,你需要創(chuàng)建一個 Page 對象并設置當前頁和每頁顯示的記錄數(shù)。
Page<User> page = new Page<>(1, 10); // 第一頁,每頁10條記錄 IPage<User> userPage = userMapper.selectPage(page, null); // 假設沒有查詢條件 List<User> userList = userPage.getRecords(); // 獲取分頁結果
3、版本沖突或配置問題:
確保你使用的 MyBatis-Plus 版本與其他依賴庫沒有沖突,并且你的項目配置是正確的。
4、檢查數(shù)據(jù)庫和表:
確保你的數(shù)據(jù)庫和表支持分頁查詢(例如,MySQL 支持 LIMIT 和 OFFSET)。
查看日志:
開啟 MyBatis 的日志功能,查看生成的 SQL 語句是否包含了 LIMIT 和 OFFSET。這可以幫助你確認分頁插件是否已被正確調(diào)用。
事務管理:
如果你在使用事務,確保分頁查詢是在事務的上下文中正確執(zhí)行的。
5、其他插件或攔截器沖突:
如果你的項目中使用了其他 MyBatis 插件或攔截器,確保它們之間沒有沖突。
到此這篇關于MyBatis-Plus Page 分頁不生效的問題解決的文章就介紹到這了,更多相關MyBatis-Plus Page 分頁不生效內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- MybatisPlus實現(xiàn)分頁效果并解決錯誤問題:cant?found?IPage?for?args
- Mybatis-plus的selectPage()分頁查詢不生效問題解決
- Mybatis-Plus或PageHelper多表分頁查詢總條數(shù)不對問題的解決方法
- mybatis-plus分頁如何接收前端參數(shù)limit和page
- 淺談mybatisPlus的Ipage分頁和map參數(shù)的問題
- Springboot中MyBatisplus使用IPage和Page分頁的實例代碼
- 解決mybatis plus 分頁查詢有條數(shù),total和pages都是零的問題
- Mybatis Plus整合PageHelper分頁的實現(xiàn)示例
相關文章
從原理到實戰(zhàn)解析Java Stream 的并行流性能優(yōu)化
本文給大家介紹Java Stream的并行流性能優(yōu)化:從原理到實戰(zhàn)的全攻略,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2025-08-08
關于springboot中對sqlSessionFactoryBean的自定義
這篇文章主要介紹了springboot中對sqlSessionFactoryBean的自定義方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
springboot對接第三方微信授權及獲取用戶的頭像和昵稱等等
這篇文章主要介紹了springboot對接第三方微信授權及獲取用戶的頭像和昵稱等等,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
mybatis-xml映射文件及mybatis動態(tài)sql詳解
XML映射文件的名稱與Mapper接口名稱一致,并且將XML映射文件和Mapper接口放置在相同包下(同包同名),這篇文章主要介紹了mybatis-xml映射文件及mybatis動態(tài)sql的相關知識,感興趣的朋友跟隨小編一起看看吧2024-12-12
Java根據(jù)日期截取字符串的多種實現(xiàn)方法
在實際開發(fā)中,我們經(jīng)常會遇到需要根據(jù)日期來截取字符串的需求,例如從文件名中提取日期信息,Java 提供了多種方法來實現(xiàn)根據(jù)日期來截取字符串的功能,本文將給大家介紹了Java根據(jù)日期截取字符串的多種實現(xiàn)方法,需要的朋友可以參考下2024-11-11
Spring?Boot?3.x?GraalVM原生鏡像構建內(nèi)存溢出問題解決方案
文章解析了Spring?Boot?3.x與GraalVM?Native?Image構建過程中出現(xiàn)的內(nèi)存溢出問題,從問題概述、根本原因、診斷工具、解決方案到高級調(diào)優(yōu)技巧和應急解決方案,全面覆蓋了構建優(yōu)化的各個方面,本文給大家介紹的非常詳細,感興趣的朋友一起學習下吧2026-01-01
Zuul 實現(xiàn)網(wǎng)關轉(zhuǎn)發(fā)的五種方式小結
這篇文章主要介紹了Zuul 實現(xiàn)網(wǎng)關轉(zhuǎn)發(fā)的五種方式小結,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07

