第 9 章 Spring集成MyBatis

Spring 是一个非常流行的轻量级框架,它是为了解决企业应用开发的复杂性而创建的,现在已经被广泛应用于各个领域。MyBatis 的前身 iBATIS 也是一个非常流行的 ORM 框架,因此在 iBATIS 时期,Spring 官方便提供了对 iBATIS 的支持。但是在 MyBatis 时期,Spring 3.0 在 MyBatis 3.0 官方发布前就已经结束了,因为 Spring 开发团队不想发布一个基于非发布版 MyBatis 的整合支持,因此 MyBatis 不得不继续等待 Spring 官方的支持。

要想获得 Spring 的支持,MyBatis 社区认为,现在应该是团结贡献者和有兴趣的人一起来将 Spring 的整合作为 MyBatis 社区的子项目的时候了,因此诞生了 MyBatis-Spring 项目。

MyBatis-Spring 可以帮助我们将 MyBatis 代码无缝整合到 Spring 中。使用这个类库中的类,Spring 将会加载必要的 MyBatis 工厂类和 Session 类。这个类库也提供了一个简单的方式将 MyBatis 数据映射器和 SqlSession 注入到业务层的 bean 中,而且也可以处理事务,翻译 MyBatis 的异常到 Spring 的 DataAccessException 数据访问异常中。

MyBatis-Spring 项目地址为 https://github.com/mybatis/spring

在接下来的各小节中,我们将从空的 Maven Web 项目开始,逐步集成 Spring、Spring MVC 和 MyBatis,在集成过程中会简单介绍 Spring 的基本配置。为了更适应当前常用的基础架构,还会集成 Spring MVC,方便构建一个基础的 Web 项目。