
mybatis源码解析
咸鱼最牛逼
这个作者很懒,什么都没留下…
展开
-
五、MetaClass实现对类的属性进行包装,MetaObject实现对类实例对象进行包装,可以对属性进行一系列操作
MetaClass 实现了对类的属性进行包装,可以对属性进行一系列操作。比如,当一个配置文件和配置类是相对应的,在读取配置文件后,为了防止配置项是规定项,可以对读取到的配置项进行判断:是否有 setter 方法: /** * 判断 目标类 中是否定义了 key 指定属性对应的 setter 方法 * @param clazz 目标类 * @param prop...原创 2019-11-28 21:46:22 · 195 阅读 · 0 评论 -
四、Mybatis源码-反射模块常用工具方法
常用方法介绍1、解析方法的返回值类型 /** * 解析方法的返回值类型 * @param method 方法 * @param srcType 定义方法的类 * @return 返回值类型 */TypeParameterResolver.resolveReturnType(Method method, Type srcType)...原创 2019-11-26 19:55:10 · 160 阅读 · 0 评论 -
三、Mybatis源码应用---获取指定package下指定类的子类
import org.apache.ibatis.io.ResolverUtil;..... /** * 获取指定package下 superType 的子类 * @param packageName 包名 * @param superType 指定类 * @return 指定package下 superType 的所有子类 */ ...原创 2019-11-21 20:59:14 · 294 阅读 · 0 评论 -
二、Mybatis源码-反射模块应用
一、应用场景导入excel,根据列号,转换成属性名,从而通过反射设置属性值。这里使用的是 mybatis 对反射的封装包!**核心思想:**就是通过将实体类封装成 Reflector 对象,通过该对象获取属性对应的 setter 方法 和 参数类型,然后将值设置进去!二、具体应用1、excel2、该 excel 对应的枚举类public enum StudentEnum { ...原创 2019-11-20 20:10:03 · 254 阅读 · 0 评论 -
一、Mybatis源码-反射模块
1、JavaBean规范JavaBean 具有如下特征:所有的属性都是私有的(通过 getter 和 setter 访问)拥有公有的无参构造函数提供 setter/getter实现 Serializable 接口2、Reflector 和 ReflectorFactory出于性能方面的考虑,Mybatis 不是等到使用的时候去解析 XML/反射类,而是为每一个类提供了反射器类 R...原创 2019-10-06 16:56:08 · 271 阅读 · 0 评论