
持久化是 将程序数据在持久状态和瞬时状态间转换的机制,将数据保存到可永久保存的存储设备中。最常见的就是将内存中的对象存储在数据库中,或者存在磁盘文件、XML 数据文件中等等。其中,文件 IO 属于持久化机制,而 JDBC 也是一种持久化机制。
之所以需要持久化,是由于内存自身缺陷导致。我们知道,内存在遇到某些外界因素影响后会丢失,但是我们的一些数据是绝对不能丢失的,但我们又无法保证不收外界因素影响。同时内存成本较高,比起硬盘、光盘等外存,其价格要高上几个数量级,而且维持成本也较高。在这种情况下,我们不得不寻求另一种方案来存储数据对象,而持久化就是其中的一种选择,我们能够通过持久化将数据缓存到外存,从而降低成本。
所谓持久层,就是用于完成持久化工作的代码块(dao 层【DAO(Data Access Object)】)。数据持久化通常都是将内存中的数据保存到磁盘中来加以固化,而实现这一过程大多是通过 关系数据库 来完成。而且比起其他部分,该层需要有一个较为清晰和严格的逻辑边界。
针对数据库操作,Java 其实已经提供了相应的解决方案 – JDBC。那既然已经有了现成的工具,那为什么还会有 MyBatis 的出现呢?
虽然 JDBC 提供了对数据库操作的解决方案,但是存在着如下问题:
preparedStatement 向占位符传递参数时存在硬编码,也会进一步加大系统维护的难度;MyBatis 是一个持久层框架,是一个半自动化的 ORM 框架,不仅支持自定义 SQL、存储过程以及高级映射。还简化了 JDBC 代码以及设置参数和获取结果集的工作过程,使得我们只需要通过简单的 XML 或注解配置,就能将原始类型、接口和 Java POJO 映射为数据库中的记录。
通过对 JDBC 操作数据库的过程进行封装,我们只需要关注 SQL 而不用再去处理注册驱动、创建 connection、创建 statement、手动设置参数、结果集检索等复杂的过程代码。
不同于其他的对象关系映射框架,MyBatis 并未将 Java 对象和数据库表关联,而是将 Java 方法与 SQL 语句关联。
总的来讲,MyBatis 有如下优点:

mybatis-xxx.jar 放到你项目的类路径下(classpath);
pom.xml 中添加如下依赖即可;<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>x.x.x</version>
</dependency>以上就是今天的所有内容了,主要讲了持久化相关的知识,然后对 Mybatis 做了简单的介绍以及我们为什么要用 Mybatis,最后则是如何安装 Mybatis。