1、重要的類和接口
- org.apache.ibatis.reflection.MetaClass//對於javaBean的calss類進行反射操做的代理類(獲取屬性的類型,獲取屬性的get,set方法的Invoker對象等等)
- org.apache.ibatis.reflection.MetaObject//對於javaBean對象進行反射操做的代理類(獲取屬性值,設置屬性值,獲取屬性信息等)
- org.apache.ibatis.reflection.Reflector//mybatis的須要進行反射操做的javaBean的反射信息的緩存類,至關於一個類的地圖(屬性的set,get方法,屬性的calss類型)
- org.apache.ibatis.reflection.invoker.Invoker //對於javaBean的方法和屬性的操做
- org.apache.ibatis.reflection.factory.ObjectFactory//對於class類型生成對象的工廠類
- org.apache.ibatis.reflection.ReflectorFactory//對calss類生成和查找Reflector的工廠類
2、在mybatis中的做用
一、在mybatis框架的中的做用
效率方面:緩存類的class信息,對反射相關的操做組件進行緩存,提升執行效率java
業務框架方面:對於javaBean到sql語句的映射,使用反射進行相關屬性的獲取和設置sql
- javaBean轉化成sql語句的參數的映射
- sql語句執行結果轉化爲javaBean的結果集映射
二、具體應用的地方