淺談Mybatis分頁插件,自定義分頁的坑
場景:PageHelper 的默認(rèn)分頁方案是 select count(0) from (你的sql) table_count
由于查詢數(shù)據(jù)比較大時,導(dǎo)致分頁查詢效率低下。
優(yōu)化:使用自定義的count查詢。、
廢話不多說,對應(yīng)代碼如下:


這個時候會使用自定義的 count sql進行統(tǒng)計查詢。
然后一般分頁默認(rèn)使用 PageHelper.startPage();
作者優(yōu)化:如果獲取的數(shù)量大于實際數(shù)量,則進行pageNum優(yōu)化。

所以 最好建議重載 startPage。 不進行優(yōu)化?。?! 要不然莫名其妙的分頁失效。每次都能查出數(shù)據(jù)。
補充知識:在mybatis-plus中使用分頁插件做分頁出現(xiàn)的問題
在使用mybatis-plus中使用分頁插件做自定義XML分頁查詢的時候,自己定義的XML中的SQL后面多了一個分號,各種查不到,也沒有報錯。最后定位到是一個分號的問題!
理論上使用mybatis里面寫sql最后是不能帶分號的。
但是mybatis-plus中其他的查詢帶分號都沒有事,只有這個分頁查詢,分頁的page對象一傳進去之后就查不到結(jié)果,這個坑找了好長時間
以上這篇淺談Mybatis分頁插件,自定義分頁的坑就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java 關(guān)鍵字static詳細(xì)介紹及如何使用
這篇文章主要介紹了java 關(guān)鍵字static詳細(xì)介紹及如何使用的相關(guān)資料,需要的朋友可以參考下2017-03-03
JAVA中的延遲隊列DelayQueue應(yīng)用解析
這篇文章主要介紹了JAVA中的延遲隊列DelayQueue應(yīng)用解析,DelayQueue是一個根據(jù)元素的到期時間來排序的隊列,而并非是一般的隊列那樣先進先出,最快過期的元素排在隊首,越晚到期的元素排得越后,需要的朋友可以參考下2023-12-12
Mybatis在注解上如何實現(xiàn)動態(tài)SQL
這篇文章主要介紹了Mybatis在注解上如何實現(xiàn)動態(tài)SQL,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06
使用Lombok導(dǎo)致打印的tostring中缺少父類的屬性問題
使用Lombok時,若發(fā)現(xiàn)@Data注解的@ToString不包含父類屬性,可通過添加@ToString(callSuper=true)解決,此方法確保在生成toString()時包括父類的屬性,有效解決只打印子類屬性的問題,這種做法對于需要完整信息展示的場景尤為重要2024-11-11

