简述 Mybatis 的插件运行原理,以及如何编写一个插件

参考答案

Mybatis的插件运行原理:

  • Mybatis仅可以编写针对ParameterHandlerResultSetHandlerStatementHandlerExecutor这4种接口的插件。
  • Mybatis使用JDK的动态代理,为需要拦截的接口生成代理对象以实现接口方法拦截功能,每当执行这4种接口对象的方法时,就会进入拦截方法,具体就是InvocationHandler的invoke()方法,只会拦截那些指定需要拦截的方法。

编写插件:

  • 首先,实现MybatisInterceptor接口,并复写intercept()方法。
  • 然后,再给插件编写注解,指定要拦截哪一个接口的哪些方法即可,最后在配置文件中配置你编写的插件。

以上,是MyBatis面试题【简述Mybatis的插件运行原理,以及如何编写一个插件】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧