一、什么是Mybatis?
- Mybatis是一款持久层框架。
- Mybatis避免了几乎所有的 ‘JDBC代码’ 和 ‘手动设置参数’ 以及 ‘获取结果集’ 的过程。
- Mybatis可以使用 “XML方式” 或 “注解” 来配置和映射原生信息,将接口和Java的实体类映射成数据库中的记录。
二、持久化
什么是持久化?是将程序数据在持久状态和瞬间状态间转换的机制
- 把数据保存到可永久保存的存储设备中。持久化主要是将内存中的对象存储在数据库中,或者存储在磁盘文件、XML数据文件中等等。
- jdbc就是一种持久化机制;文件IO也是。
为什么要用持久化服务?那是由于内存本身缺陷引起的
- 内存断点后数据会丢失,但有些对象是无论如何都不能丢失的,比如银行账号等,而且现在人们还无法保证内存永不断电。
- 内存过于昂贵,与硬盘、光盘等外存相比,内存的价格要高2倍多,而且维持的成本也高。即使对象不需要永久保存,也会因为内存的容量限制不能一直呆在内存中,所以需要持久化来缓存到外存。
三、持久层
什么是持久层?
- dao层【Data Access Object 数据访问对象】
- 在我们的系统架构中,有一个相对独立的逻辑层面,专注于数据持久化逻辑的实现。与系统其他部分相对而言,这个层面具有一个较为严格清晰的逻辑边界。【简单来说这个层就是用来操作数据库的】
四、为什么要用Mybatis
- Mybatis就是用来帮助程序员操作数据库的
- Mybatis框架可以减少重复代码,提高开发效率。【传统的jdbc操作有很多重复的代码块,比如数据库的建立、数据取出时的封装】
- Mybatis是一个半自动化的ORM框架【Object Relationship Mapping 对象关系映射】
- Mybatis的优点:
- 简单易学:简单安装两个jar和配置sql映射文件就可以了
- 灵活:sql写在xml文件里,便于统一管理和优化
- 解除sql与程序代码的耦合:通过dao层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰、更易维护。
Mybatis依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>