• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

无信不立

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

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

 

posted on 2019-08-25 15:39  无信不立  阅读(404)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3