- MyBatis 3源码深度解析
- 江荣波
- 502字
- 2021-03-30 18:20:30
前言
在写作本书时,SSM(Spring、Spring MVC和MyBatis)框架已经成为很多互联网公司的标配。笔者最早接触MyBatis框架是在2014年,当时接手的是一个非常成熟的网上银行系统,项目中使用的持久层框架就是MyBatis的前身—iBatis框架。后来换了两份工作,新的公司也都选择MyBatis作为持久层框架。从iBatis过渡到MyBatis框架几乎不需要任何学习成本,MyBatis延续了iBatis简单易用的特点,优化了SQL配置方式,引用OGNL表达式来支持动态SQL配置,使得动态SQL配置更加优雅,而且更容易理解。在笔者看来,MyBatis相对于iBatis框架最大的创新是引入了SQL Mapper的概念。我们可以将XML文件中的SQL配置与一个Java接口进行绑定,SQL配置的命名空间对应Java接口的完全限定名,而具体的每个SQL语句的配置对应Java接口中的一个方法,建立绑定后,可以通过调用Java接口中定义的方法来执行XML文件中配置的SQL语句。
MyBatis作为持久层框架,以其小巧轻便、SQL可配置、使用简单等特点深受广大Java开发者喜爱。然而大多数开发人员对MyBatis框架的理解仅局限于使用,并不理解框架底层的实现原理。作为一名开发人员,阅读开源框架的源码,可以学习源码中对设计模式及面向对象设计原则的应用,有助于提升自身编码能力。笔者在工作之余,深入研究了MyBatis框架的源码,本书将会从源码的角度分析MyBatis框架各个特性的实现原理。