二、mybatis简介
1.什么是 MyBatis?
- MyBatis 是一款优秀的持久层框架
- 它支持自定义 SQL、存储过程以及高级映射
- MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作
- MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录
- MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。
- 2013年11月迁移到Github,所以现在我们要使用mybatis的话,我们需要到GitHub上去找
2.如何获取mybatis
- maven仓库:MAVEN
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
3.什么是持久化(动作)
mybatis官网说了,MyBatis 是一款优秀的 持久层框架
那么什么是持久层?持久层就是完成持久化功能的一个 功能模块/代码
那么什么又是持久化呢?(重点)
- 持久化是将程序数据在持久状态和瞬时状态间转换的 机制/过程
- 通俗的讲,就是瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据(比如持久化至数据库中或通过IO存到文件中,能够长久保存)
- 为什么要持久化数据?
- 需要存储一些数据,下次开机/以后 还要用
- 内存太贵
4.什么是持久层(名词)
前面我们学过DAO层、service层、controller层…
持久层就是完成持久化功能的代码块
使用"层"的概念是因为层与层之间的界限非常明显,易于区分;所以持久层就是指的用来完成持久化功能的代码
5.为什么要使用MyBatis?
-
使用方便
-
传统的JDBC代码太复杂
就是为了简化复杂的JDBC,所以出现了MyBatis框架
那么什么叫框架?
- 将数据存储到数据库中
- 框架我们可以理解为一张表格,我们知道你去每个需要填写表格的地方都会给你一张他们特制的表格,这个表格的作用就是规范你填写数据的行为,你只需要填上他们要求的信息,那么这张表格+数据就可以实现一些功能,比如办证,我们的目的就是拿到证件:你需要按照要求填写表格—>提交表格—>拿到证件
- MyBatis也就是这么一张表格,它的作用就是帮助我们实现原来JDBC的功能,我们只需要在表格上填写上要求填写的信息,这张表格就会被按照规定的步骤解析,然后框架中的代码获取到必要的信息,就自动的帮你实现原来JDBC的功能
- 不是必须使用MyBatis,只是使用这个工具我们的开发效率更高,然我们更加集中于设计,而不是代码实现;框架使用起来很容易上手
- 技术没有高低之分,只有使用技术的人的技术有分别
6.MyBatis的特点(来自百科)
- 简单易学:本身就很小且简单,没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
- 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。
- 解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
- 提供映射标签,支持对象与数据库的orm字段关系映射
- 提供对象关系映射标签,支持对象关系组建维护
- 提供xml标签,支持编写动态sql。
- 重大的特点:使用的人多
- 上面所有的特点都说了XML文件,所以XML文件对mybatis很重要