好的,这是一份为您准备的 MyBatis 插件原理面试复习摘要。 --- MyBatis 插件(Plugin)原理面试精要 1. 核心概念 MyBatis 插件是基于 Java 动态代理 和 责任链模式 的一种扩展机制,它允许开发者在不修改 MyBatis 源码的情况下,拦截并增强其四大核心组件在 SQL 执行过程中的特定方法,实现自定义功能。 2. 关键特性/优点 非侵入式设计: 无需修改框架源码,通过简单配置即可生效,实现了与框架的松耦合。 高扩展性: 可轻松实现如物理分页(PageHelper)、慢查询监控、数据脱敏、读写分离等通用性强的复杂功能。 责任链模式: 支持多个插件按配置顺序链式工作,功能组合灵活,逻辑清晰。 拦截点明确: 拦截目标仅限于四大核心接口,范围可控,易于理解和维护。 3. 工作原理/架构 MyBatis 的插件机制围绕以下步骤工作: 1. 定义拦截点: MyBatis 仅开放了四个稳定接口作为拦截点: (执行器):负责 SQL 的执行、缓存和事务管理。 (语句处理器):负责设置参数和执行 Statement。 (参数处理器):负责 SQL 参数的设置。...