MyBatis 3源码深度解析
上QQ阅读APP看书,第一时间看更新

第1章 搭建MyBatis源码环境

1.1 MyBatis 3简介

MyBatis源于Apache的一个开源项目iBatis。2002年,Clinton Begin开发了iBatis框架,并引入了SQL映射作为持久化层开发的一种方法,不久后Clinton Begin将iBatis捐献给Apache软件基金会。2010年,这个项目由Apache迁移到了Google Code,并改名为MyBatis。2013年11月,MyBatis迁移到目前最大的源代码托管平台Github。

MyBatis是一款在持久层使用的SQL映射框架,可以将SQL语句单独写在XML配置文件中,或者使用带有注解的Mapper映射类来完成数据库记录到Java实体的映射。与另一款主流的ORM框架Hibernate不同,MyBatis属于半自动的ORM框架,它虽然不能将不同数据库的影响隔离开,仍然需要自己编写SQL语句,但是可以灵活地控制SQL语句的构造,将SQL语句的编写和程序的运行分离开,使用更加便捷。

目前,Java实现的持久化框架比较多,名气相对较大的有Hibernate、Speedment、Spring Data JPA、ActiveJPA等。总结一下,MyBatis能够流行起来的主要原因有以下几点:

(1)消除了大量的JDBC冗余代码,包括参数设置、结果集封装等。

(2)SQL语句可控制,方便查询优化,使用更加灵活。

(3)学习成本比较低,对于新用户能够快速学习使用。

(4)提供了与主流IoC框架Spring的集成支持。

(5)引入缓存机制,提供了与第三方缓存类库的集成支持。

MyBatis这些优秀的特性使它成为目前最受欢迎的ORM框架之一。读者在阅读本书时可能已经熟练掌握了MyBatis的基本使用,本书将从源码的角度介绍MyBatis框架的底层实现。