1.概述
MyBatis 的整体架构分为三层:
基础支持层
核心处理层
接口层
2 基础支持层
2.1 反射模块
对应 reflection 包。
Java 中的反射虽然功能强大,但对大多数开发人员来说,写出高质量的反射代码还是 有一定难度的。MyBatis 中专门提供了反射模块,该模块对 Java 原生的反射进行了良好的封装,提了更加简洁易用的 API,方便上层使调用,并且对反射操作进行了一系列优化,例如缓存了类的元数据,提高了反射操作的性能。
2.2 类型模块
对应 type 包。
① MyBatis 为简化配置文件提供了别名机制,该机制是类型转换模块的主要功能之一。
② 类型转换模块的另一个功能是实现 JDBC 类型与 Java 类型之间的转换,该功能在为 SQL 语句绑定实参以及映射查询结果集时都会涉及:
在为 SQL 语句绑定实参时,会将数据由 Java 类型转换成 JDBC 类型。
而在映射结果集时,会将数据由 JDBC 类型转换成 Java 类型。
2.3 日志模块
对应 logging 包。
无论在开发测试环境中,还是在线上生产