一、Mybatis
1、Mybatis入门
1.1、什么是mybatis?
- mybatis中文参考文档:https://mybatis.net.cn/
- 定义:MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
- 发展历史:MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了[google code](https://baike.baidu.com/item/google code/2346604),并且改名为MyBatis。2013年11月迁移到Github。
1.2、Mybatis安装
-
Mybatis安装方式:
- 1.jar包下载:在maven远程仓库下载 [mybatis-x.x.x.jar]文件置于项目路径(classpath)中即可。
- 2.使用maven添加依赖
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.9</version> </dependency>
- 注:作者在这里使用最新版本3.5.9.可自行参考下载。
1.3、区分持久化和持久层
持久化(过程化):
- 将程序数据在持久状态和瞬时状态间转换的机制。通俗的讲,就是瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据(比如持久化至数据库中,能够长久保存)
- 断电及失。
- JDBC就是一种持久化机制。文件IO也是一种持久化机制。
持久层:
- 数据库访问层:又称为DAL层,有时候也称为是持久层,其功能主要是负责数据库的访问。简单地说就是实现对数据表的Select(查询)、Insert(插入)、Update(更新)、Delete(删除)等操作。如果要加入ORM的思想,就会包括对象和数据表之间的映射,以及对象实体的持久化操作。
- 实现将业务数据持久化到数据库中的方式就叫持久层。
1.4、Mybatis的特点
- 生态良好,使用方便。
- 简单易学。
- 灵活
- 解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
- 提供映射标签,支持对象与数据库的orm字段关系映射。
- 提供对象关系映射标签,支持对象关系组建维护。
- 提供xml标签,支持编写动态sql。