SpringBoot整合PageHelper分頁(yè)無(wú)效的常見原因分析
SpringBoot整合PageHelper分頁(yè)無(wú)效的常見原因
1.maven依賴的問(wèn)題
此類原因是與pom.xml文件中引入的分頁(yè)依賴有關(guān)
由于springboot本身集成pagerhelper的分頁(yè)插件
只需要引入如下依賴即可
<!-- spring-boot mybatis pagehelper --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.10</version> </dependency>
如引入的為如下依賴
需要添加Bean注入(如何添加請(qǐng)自行百度)
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.10</version> </dependency>
2.執(zhí)行PageHelper.startPage(int pageNum, int pageSize)
后沒有緊跟分頁(yè)查詢,而是先執(zhí)行了其他查詢
如下初始化分頁(yè)器后,應(yīng)該緊跟mybatis的分頁(yè)查詢語(yǔ)句,方法中如有其他查詢需求,需要在其他查詢完成后,再執(zhí)行PageHelper.startPage(int pageNum, int pageSize)方法
public PageInfo<R> page(Map<String, ? extends Object> map) { //獲取第1頁(yè),10條內(nèi)容,默認(rèn)查詢總數(shù)count PageHelper.startPage(Integer.parseInt(map.get("pageNum").toString()), Integer.parseInt(map.get("pageSize").toString())); String sql = String.format("%s%s",sqlMapping , map.get("mapping")==null?"getPageObjList" : map.get("mapping")) ; List<R> l = sqlSessionTemplate.selectList(sql , map); return new PageInfo<R>(l); }
3.沒有配置mybatis的分頁(yè)攔截器(也是我遇到的問(wèn)題)
當(dāng)攔截器沒有配置的時(shí)候,每次進(jìn)行List查詢都會(huì)返回全部結(jié)果數(shù)據(jù),此時(shí)需要在啟動(dòng)類中注入攔截器類
@Bean public Interceptor[] plugins() { return new Interceptor[]{new PageInterceptor()}; }
或者在MyBatis的配置文件mybatis-config.xml中添加如下代碼
<configuration> <plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"/> </plugins> </configuration>
總結(jié)
以上就是綜合網(wǎng)上大家遇到的springboot使用pagehelper進(jìn)行分頁(yè)時(shí),遇到查詢出全部數(shù)據(jù)而沒有進(jìn)行分頁(yè)的常見問(wèn)題及解決方案。
這些僅為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解析Java中的Timer和TimerTask在Android中的用法和實(shí)例
本篇文章主要介紹了解析Java中的Timer和TimerTask在Android中的用法,主要介紹了Timer和TimerTask的用法,有需要的可以了解一下。2016-11-11Java內(nèi)存區(qū)域與內(nèi)存溢出異常詳解
這篇文章主要介紹了Java內(nèi)存區(qū)域與內(nèi)存溢出異常詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03IDEA無(wú)法創(chuàng)建JDK1.8版本的Springboot項(xiàng)目問(wèn)題解決(2種方法)
本文主要介紹了IDEA無(wú)法創(chuàng)建JDK1.8版本的Springboot項(xiàng)目問(wèn)題解決,包含兩種解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07詳解如何為SpringBoot Web應(yīng)用的日志方便追蹤
在Web應(yīng)用程序領(lǐng)域,有效的請(qǐng)求監(jiān)控和可追溯性對(duì)于維護(hù)系統(tǒng)完整性和診斷問(wèn)題至關(guān)重要,SpringBoot是一種用于構(gòu)建Java應(yīng)用程序的流行框架,在本文中,我們探討了在SpringBoot中向日志添加唯一ID的重要性,需要的朋友可以參考下2023-11-11關(guān)于在IDEA熱部署插件JRebel使用問(wèn)題詳解
這篇文章主要介紹了關(guān)于在IDEA熱部署插件JRebel使用問(wèn)題詳解,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12spring+springmvc+mybatis 開發(fā)JAVA單體應(yīng)用
這篇文章主要介紹了spring+springmvc+mybatis 開發(fā)JAVA單體應(yīng)用的相關(guān)知識(shí),本文通過(guò)圖文實(shí)例代碼的形式給大家介紹的非常詳細(xì) ,需要的朋友可以參考下2018-11-11mybatis createcriteria和or的區(qū)別說(shuō)明
這篇文章主要介紹了mybatis createcriteria和or的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07java 四舍五入保留小數(shù)的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇java 四舍五入保留小數(shù)的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09Spring?WebFlux怎么進(jìn)行異常處理源碼解析
這篇文章主要為大家介紹了Spring?WebFlux怎么進(jìn)行異常處理源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08