前世今生
MyBatis前身是Apache基金会的开源项目iBatis,在2010年该项目脱离Apache基金会并正式更名为MyBatis。在2013年11月,MyBatis迁移到GitHub。
整体框架
MyBatis的整体框架分为三层,分别是基础支持层、核心处理层和接口层。
基础支持层
基础支持层包含整个MyBatis的基础模块,这些模块为核心处理层的功能提供了良好的支撑。下面简单描述各个模块的功能。
- 反射模块
Java中的反射虽然功能强大,但大多数开发人员来说,写出高质量的反射代码还是有一定难度。MyBatis中专门提供了反射模块,该模块对Java原生的反射进行了良好的封装,提供了更加简洁易用的API,方便上层调用,并且对反射操作进行了一系列优化,例如缓存了类的元数据,提高了反射操作的性能。 - 类型转换模块
MyBatis为简化配置文件提供了别名机制,该机制是类型转换模块的主要功能之一。类型转换模块的另一个功能是实现JDBC类型与Java类型之间的转换,该功能在为SQL语句绑定了实参以及映射查询结果集时都会涉及。在为SQL语句绑定实参时,会将数据由Java类型转换成JDBC类型;而在映射结果集时,会将数据由JDBC类型转换成Java类型。 - 日志模块
无论在开发测试环境中,