問題說明:
在常規(guī)查詢中属铁,查詢出的分頁結果可能會進行二次加工,最終的返回對象與最初查詢的對象可能不一致,new Pageinfo()
時硼婿,返回的total
值永遠就是當前頁的size怒见,導致分頁失效俗慈。
控制器設置分頁參數(shù)
實現(xiàn)類更改了返回對象
因為源碼中對返回對象做了類型驗證,這里無法通過遣耍,故如此闺阱。
page類型驗證
解決方案:
PageHelper
是通過攔截器實現(xiàn)的分頁,加工執(zhí)行SQL并獲取到count
結果舵变,實現(xiàn)類為com.github.pagehelper.PageInterceptor
酣溃,可以通過繼承此類,重寫部分代碼解決纪隙。
重寫PageInterceptor
將原類中所有代碼復制過來救拉,這里可以做一個ThredLocal
來存儲當前count
結果
count總數(shù)
還需更改注冊的分頁對象,換成剛剛自定義的類
注冊分頁
最終的返回結果從ThredLocal
獲取瘫拣,并清空即可。
Page