一、MyBatis运行分为两大部分:
二、Mapper是一个接口,通过动态代理实现
- 代理模式:所谓的代理模式就是在原有的服务上多加一个占位,通过这个占位去控制服务的访问。
- 优点:一方面可以控制如何访问真正的服务对象,提供额外服务;另一方面有机会通过重写一些类来满足特定的需要。
- 动态代理
- JDK动态代理:是由JDK的java.lang.reflect.*包提供支持的,需要完成这么几个步骤:
JDK的代理最大的缺点是需要提供接口,而MyBatis的Mapper就是一个接口,它采用的就是JDK的动态代理。
三、构建SQLSessionFactory过程