Mybatis:插件原理

哪些对象允许被代理(插件)

Executor、ParameterHandler、StatementHandler、ResultSetHandler

什么时候创建代理对象

Executor sqlSession.openSession的时候被代理
其他3个创建的时候被代理

多个插件的时候,代理执行顺序

代理被代理的顺序:按照定义顺序代理。
如何执行:按照代理顺序倒序invoke()。
责任链模式。

被代理后,调用的是什么方法

intercept()方法
还要实现plugin()方法,保证被包装。

posted @ 2020-07-09 20:29  挣扎一下  阅读(119)  评论(0编辑  收藏  举报