java后端pageHelper分頁實現(xiàn)方法步驟
背景
當(dāng)一次查庫數(shù)據(jù)量較大,不光給數(shù)據(jù)庫帶來壓力,同時前端渲染頁面壓力也很大,所以嘗試做真分頁來減小壓力。
方法一:mysql的limit進(jìn)行分頁
SELECT * FROM `t_item_type` limit page,pageSize
可以看見這是從第一頁開始查,查5條數(shù)據(jù)。
方法二:使用插件Mybatis-PageHelper(攔截器原理)
1、本質(zhì)
將原來需要人手動寫的 sql中 limit page,pageSize變成直接傳入?yún)?shù)。
2.實現(xiàn)步驟
引入依賴
spring
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.2</version> </dependency>
springBoot
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.10</version> </dependency>
修改application.yml
pagehelper: helperDialect: mysql reasonable: true supportMethodsArguments: true params: count=countSql
參數(shù)說明:
修改代碼
PageHelper.startPage(1,5);這句話放置的位置是一整條sql查詢結(jié)果上邊,因為插件的原理是在sql上拼接 limit 傳進(jìn)去兩個參數(shù) ,比如當(dāng)前service中邏輯還包含兩條sql,此分頁將不起作用。
//這一句一定要放在查出所有數(shù)據(jù)的上邊,第一個數(shù)表示pageNum,第二個數(shù)表示pageSize PageHelper.startPage(1,5); //這里表示要獲取所有的信息 List<ItemAllInfo>itemAllInfos = itemTypeService.selectAllItemByType(itemType); //轉(zhuǎn)換成分頁的形式,這里做改動后返回值于原來相比格式發(fā)生變化,要及時調(diào)整前端接收數(shù)據(jù)的格式。 PageInfo pageInfo = new PageInfo(itemAllInfos);
總結(jié)
工欲善其事,必先利其器。這里做完改動以后還是要多多注意前端格式轉(zhuǎn)換。
到此這篇關(guān)于java后端pageHelper分頁實現(xiàn)的文章就介紹到這了,更多相關(guān)java后端pageHelper分頁內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java實現(xiàn)升級版布谷鳥闖關(guān)游戲的示例代碼
升級版布谷鳥闖關(guān)游戲是一個基于java的布谷鳥闖關(guān)游戲,鼠標(biāo)左鍵點擊控制鳥的位置穿過管道間的縫隙。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-02-02eclipse修改jvm參數(shù)調(diào)優(yōu)方法(2種)
本篇文章主要介紹了eclipse修改jvm參數(shù)調(diào)優(yōu)方法(2種),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02VSCode搭建Java開發(fā)環(huán)境的超詳細(xì)步驟
VSCode是一款多平臺的源代碼編輯器,支持多種編程語言,它輕量級、功能強大,通過豐富的插件生態(tài)系統(tǒng)可以支持更多語言和運行時,如C++、C#、Java、Python等,這篇文章主要介紹了VSCode搭建Java開發(fā)環(huán)境的超詳細(xì)步驟,需要的朋友可以參考下2024-10-10Java畢業(yè)設(shè)計之多用戶宿舍管理系統(tǒng)的實現(xiàn)
這篇文章主要介紹了基于Java實現(xiàn)的多用戶宿舍管理系統(tǒng),本文采用了jsp、servlet、jdbc等技術(shù),文中示例代碼講解詳細(xì),需要的可以參考一下2022-02-02