接口是个抽象,使用时通常需要写实现类去实现接口并重写方法才能执行逻辑,为什么 MyBatis 只有 Mapper 接口和 XML 就能执行,而不用写具体实现类?
考察说明
考察对 MyBatis 动态代理机制和 Mapper 绑定原理的理解
回答思路
- 说明 MyBatis 使用 JDK 动态代理为 Mapper 接口生成代理对象
- 解释代理对象如何根据方法信息定位 SQL 并执行
- 对比传统实现类与代理机制的本质区别
- 能提到 SqlSession、MapperProxy 与 XML 的绑定关系
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。