开发者社区> 问答> 正文

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

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

展开
收起
游客pklijor6gytpx 2019-12-04 14:24:56 2713 0
1 条回答
写回答
取消 提交回答
  • Mybatis仅可以编写针对ParameterHandler、ResultSetHandler、StatementHandler、Executor这4种接口的插件,Mybatis使用JDK的动态代理,为需要拦截的接口生成代理对象以实现接口方法拦截功能,每当执行这4种接口对象的方法时,就会进入拦截方法,具体就是InvocationHandler的invoke()方法,当然,只会拦截那些你指定需要拦截的方法。实现Mybatis的Interceptor接口并复写intercept()方法,然后在给插件编写注解,指定要拦截哪一个接口的哪些方法即可,记住,还需要在配置文件中配置你编写的插件。

    2019-12-04 14:25:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第6讲】:Spring Boot 2.0实战MyBatis与优化(Java面试题) 立即下载
ReactNative启动性能优化 立即下载
函数计算最佳实践:快速开发一个分布式 Puppeteer 网页截图服务 立即下载