是这样,博主本人也是没有系统的学习过MyBatis,想借着这个机会希望自己能坚持下来将MyBatis入门教程这个系列的内容给写好了通过博主不屑的努力,在总结自己知识体系的同时,让更多的人学习到关于MyBatis的知识。闲话不多说,咱们就开始吧!
MyBatis的前身是iBATIS,这个项目是有Clinton Begin在2001年的时候发起的一个开源项目,这个项目最初是用来做一些密码软件的开发工作。后来逐渐的发展成了Java的一款持久层的框架,然后在2004年的时候捐赠给了Apache,接下来就是慢慢的取代了Hibernate,成为了主流的持久层框架。在2010年的时候正式的更名为MyBatis。
MyBatis是一款支持自定义SQL查询、存储过程和高级映射的这样一个持久层的框架,它取出了几乎所有的JDBC的代码和参数的手动设置以及结果集的手动遍历操作。MyBatis提供了XML和注解的两种方式进行配置与映射。通过将参数映射到配置的SQL中最终形成需要执行的SQL语句,然后将执行完的结果映射成一个Java对象并返回。
与其他的ORM框架不同的是MyBatis并米有将Java对象与数据库表关联起来,而将Java方法与SQL语句进行了关联。允许用户能够充分的利用数据库的各种功能,例如存储过程、视图、以及各种复杂SQL还有一些数据库的专有特性等等。
与JDBC相比,MyBatis简化的相关的代码,让SQL语句能在一行代码中执行。MyBatis提供了一个映射引擎,通过声明式的方式将SQL语句执行的结果与Java对象映射起来,通过使用XML表达式语言,SQL语句就可以动态的进行生成。
此外MyBatis还支持声明式的数据缓存,如果一条语句被标记为可以缓存之后,那么第一次执行完成之后,所有的数据都会被放在高速缓存中,如果后面再执行同样的语句的时候,就会从缓存中获取数据结果,而不需要再次查询数据库。MyBatis默认情况下是基于Java中的HashMap来实现缓存操作,还可以通过API实现其他的缓存操作。
MyBatis整体架构如图所示
官方GitHub地址:
https://github.com/mybatis/mybatis-3
官方GitHub 首页地址
https://github.com/mybatis