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、具体应用的地方

  • 相关阅读:
    asp.net 、C#实现微信企业号OAuth2认证
    node event中 on emit off 的封装
    node
    Express中间件
    旋转的魔方
    通过gulp为requireJs引入的模块添加版本号
    css水平垂直居中(绝对定位居中)
    COLOR 与 COLORREF
    VMware Workstation 安装 vmware tools
    MMIV: starter level 1
  • 原文地址:https://www.cnblogs.com/shangxiaofei/p/11408103.html
Copyright © 2011-2022 走看看