MyBatis 攔截器(4)

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

省略了getter、setterapp

第二步:把User bean修改成繼承自BwfPagingBean。函數

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

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

第五步:實現攔截器。code

1.  新建BwfPagingInterceptor實現Interceptor接口對象

2.  給BwfPagingInterceptor添加註解繼承

@Intercepts({接口

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

}) 

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

3.  重寫plugin方法

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

4.  重寫intercept方法

在該方法中,對查詢的方法名進行了鑑別,只有包含ByPaging字樣的 函數纔會進行分頁攔截,不然直接經過,不進行分頁。

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

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

第七步:測試

測試結果略,你們能夠實際操做下。

相關文章
相關標籤/搜索