【mybatis源码学习】mybatis的反射模块

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的结果集映射

 

二、具体应用的地方

相关文章
相关标签/搜索