博為峰JavaEE技術文章 ——MyBatis 攔截器(4)分頁

接下來我們看一下具體實現的步驟:

第一步:建立一個分頁數據保存的基類BwfPagingBean

省略了getter、setter

第二步:把User bean修改為繼承自BwfPagingBean。

第三步:添加mapper分頁查詢語句。

第四步:添加分頁查詢接口方法。

第五步:實現攔截器

1.新建BwfPagingInterceptor實現Interceptor接口

2.給BwfPagingInterceptor添加注解

@Intercepts({

@Signature(type = StatementHandler.class, method ="prepare", args = {Connection.class,Integer.class})

})

含義:攔截StatementHandler類的prepare方法,其參數有兩個,分別是Connection.class,Integer.class。也就是在sql執行預編譯前,對sql進行分頁修改。

3.重寫plugin方法

直接調用Plugin類的wrap對目標對象進行代理封裝。

4.重寫intercept方法

在該方法中,對查詢的方法名進行了鑒別,只有包含ByPaging字樣的函數才會進行分頁攔截,否則直接通過,不進行分頁。

第5步和第6步兩個方法的定義如下:

第六步:在配置文件中添加攔截器配置

第七步:測試

測試結果略,大家可以實際操作下。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容