壹 mybatis中可以被攔截的類
(1) Executor :執行器
(2) ParameterHandler:參數處理器
(3) ResultSetHandler :結果集處理器
(4) StatementHandler:sql語句處理器。
二 自定義mybatis攔截器的定義。
(1)自定義類實現org.apache.ibatis.plugin.Interceptor接口
(2)自定義類上添加註解 org.apache.ibatis.plugin.Intercepts
(3)在上面註解中 定義要攔截的mybits的類型及對應方法。
通過org.apache.ibatis.plugin.Signature註解來定義。裏面有三個參數: type代表攔截的類型即上面4個處理器,method 代碼攔截的哪個方法,args 代表方法的參數類型。
三 實現代碼
例子:mysql表中有的字段是decimal類型。查出的結果需要保留壹位小數。
因為是對結果進行處理。這裏我們攔截的是 ResultSetHandler
processMap方法實現如下
攔截器理解後還是挺簡單的。積少成多。很快會成為面神。