淺談Mybatis分頁插件,自定義分頁的坑
場(chǎng)景:PageHelper 的默認(rèn)分頁方案是 select count(0) from (你的sql) table_count
由于查詢數(shù)據(jù)比較大時(shí),導(dǎo)致分頁查詢效率低下。
優(yōu)化:使用自定義的count查詢。、
廢話不多說,對(duì)應(yīng)代碼如下:
這個(gè)時(shí)候會(huì)使用自定義的 count sql進(jìn)行統(tǒng)計(jì)查詢。
然后一般分頁默認(rèn)使用 PageHelper.startPage();
作者優(yōu)化:如果獲取的數(shù)量大于實(shí)際數(shù)量,則進(jìn)行pageNum優(yōu)化。
所以 最好建議重載 startPage。 不進(jìn)行優(yōu)化!!! 要不然莫名其妙的分頁失效。每次都能查出數(shù)據(jù)。
補(bǔ)充知識(shí):在mybatis-plus中使用分頁插件做分頁出現(xiàn)的問題
在使用mybatis-plus中使用分頁插件做自定義XML分頁查詢的時(shí)候,自己定義的XML中的SQL后面多了一個(gè)分號(hào),各種查不到,也沒有報(bào)錯(cuò)。最后定位到是一個(gè)分號(hào)的問題!
理論上使用mybatis里面寫sql最后是不能帶分號(hào)的。
但是mybatis-plus中其他的查詢帶分號(hào)都沒有事,只有這個(gè)分頁查詢,分頁的page對(duì)象一傳進(jìn)去之后就查不到結(jié)果,這個(gè)坑找了好長(zhǎng)時(shí)間
以上這篇淺談Mybatis分頁插件,自定義分頁的坑就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
