zoukankan      html  css  js  c++  java
  • 【mybatis源码学习】mybatis的反射模块

    一、重要的类和接口

    • 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的工厂类

     

    二、在mybatis中的作用

    1、在mybatis框架的中的作用

    效率方面:缓存类的class信息,对反射相关的操作组件进行缓存,提高执行效率

    业务框架方面:对于javaBean到sql语句的映射,使用反射进行相关属性的获取和设置

    • javaBean转化成sql语句的参数的映射
    • sql语句执行结果转化为javaBean的结果集映射

    2、具体应用的地方

  • 相关阅读:
    javaMap
    javaCollections
    java线程
    mysql插入,删除
    mysql基础(1)
    javaSet,Date
    中青杯数学建模大赛
    javaJDBC
    中秋记事~~项目开发
    太高兴了,今天有人送我吃月饼!
  • 原文地址:https://www.cnblogs.com/shangxiaofei/p/11408103.html
Copyright © 2011-2022 走看看