問題說明:
在常規(guī)查詢中,查詢出的分頁結(jié)果可能會進行二次加工,最終的返回對象與最初查詢的對象可能不一致,new Pageinfo()時,返回的total值永遠就是當前頁的size,導致分頁失效。

控制器設(shè)置分頁參數(shù)

實現(xiàn)類更改了返回對象
因為源碼中對返回對象做了類型驗證,這里無法通過,故如此。

page類型驗證
解決方案:
PageHelper是通過攔截器實現(xiàn)的分頁,加工執(zhí)行SQL并獲取到count結(jié)果,實現(xiàn)類為com.github.pagehelper.PageInterceptor,可以通過繼承此類,重寫部分代碼解決。

重寫PageInterceptor
將原類中所有代碼復制過來,這里可以做一個ThredLocal來存儲當前count結(jié)果

count總數(shù)
還需更改注冊的分頁對象,換成剛剛自定義的類

注冊分頁
最終的返回結(jié)果從ThredLocal獲取,并清空即可。

Page