一、MyBatis運行分爲兩大部分:
二、Mapper是一個接口,通過動態代理實現
- 代理模式:所謂的代理模式就是在原有的服務上多加一個佔位,通過這個佔位去控制服務的訪問。
- 優點:一方面可以控制如何訪問真正的服務對象,提供額外服務;另一方面有機會通過重寫一些類來滿足特定的需要。
- 動態代理
- JDK動態代理:是由JDK的java.lang.reflect.*包提供支持的,需要完成這麼幾個步驟:
JDK的代理最大的缺點是需要提供接口,而MyBatis的Mapper就是一個接口,它採用的就是JDK的動態代理。
三、構建SQLSessionFactory過程