MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
1、什么是Mybatis?
-
Mybatis是一款优秀的持久层框架
-
Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集的过程
-
MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
-
Mybatis中文网:入门_MyBatis中文网
2、持久化
-
持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、XML数据文件中等等。
-
持久化是将程序数据在持久状态和瞬时状态间转换的机制。
-
JDBC就是一种持久化机制。文件IO也是一种持久化机制。
3、为什么需要持久化服务?
那是因为内存本身存在的缺陷引起的
-
内存断电后数据会丢失
-
内存过于昂贵,内存价格比硬盘、光盘等外存相比,价格至少要高2~3个数量级,而且运维成本也比较高,至少需要一直供电。所以即使对象不需要永久保存,也会因为内存的容量限制不能一直保存在内存中,需要持久化缓存到外存内。
4、什么是持久层
完成持久化工作的代码块,把数据保存到可掉电式存储设备中。
5、为什么需要Mybatis
-
Mybatis就是帮助程序员将数据存入数据库中,并且能从数据库获取数据
-
传统的JDBC操作,有很多重复代码块,比如数据库建立连接,数据取出时的封装等,通过Mybatis框架可以减少重复代码,提高开发效率
-
Mybatis是一个半自动化的ORM框架(Object Relational Mapping);ORM(Object Relational Mapping)框架采用元数据来描述对象与关系映射的细节,元数据一般采用XML格式,并且存放在专门的对象一映射文件中。
6、Mybatis的优点
-
简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
-
灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。
-
解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
-
提供映射标签,支持对象与数据库的orm字段关系映射
-
提供对象关系映射标签,支持对象关系组建维护
-
提供xml标签,支持编写动态sql。
-
使用的人多,公司需要。