1.1、什么是Mybatis
-
MyBatis 是一款优秀的**持久层框架**
-
它支持自定义 SQL、存储过程以及高级映射。(方便写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。
-
iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)
- DAO:数据 持久层 对象
如何获得Mybatis?
- 1、maven仓库:https://mvnrepository.com/search?q=mybatis
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
2、Github:https://github.com/mybatis/mybatis-3/tags
- 中文文档:https://mybatis.org/mybatis-3/zh/index.html
作用
概念
为什么需要mybatis
1.2、持久化
持久化是一个,动作。
数据持久化
- 持久化就是将程序的数据在持久状态和瞬时状态转化的过程
- 持久状态:放在数据库中(只有数据库不删库,一直都在)
- 瞬时状态:内存里的东西,持久化到数据里边
- 内存的特性:断电即失
- 正常的运行数据都在内存中,不如不持久化,内存出意外数据就丢了
- 持久化方式:数据库(jdbc)、io文件持久化。
- io特别浪费资源,所有数据库诞生了
- 生活中持久化方式:冷藏、罐头。
为什么需要持久化?
-
内存的特性:断电即失
-
有一些对象,不能让他对掉。如:支付宝余额
-
内存贵
1.3、持久层
持久层是一个概念。
Dao层、service层(业务)、Controller层……(每个层有具体的业务)
- Dao层:完成持久化工作的代码块
- service层:业务操作,调Dao层,等待Controller层的调用
- Controller层:接收用户请求,转发给业务层去做
- 层:界限十分明显
1.4、为什么需要mybatis?
- 核心作用:帮助程序员将数据存入到数据库中。
- 方便
- 传统的JDBC代码太复杂了。‘
- 简化。
- 框架
- 自动化操作了
- 不用mybatis也可以,它只是一个框架。
- 用mybatis更容易上手。技术没有高低之分,只有使用技术的人有高低之分。
什么是框架?
- 约定好了,只需要在里边填写相应的东西
- 比如:填写表格
优点
- 简单易学
- 灵活
- sql和代码的分离,提高了可维护性。
- 提供映射标签,支持对象与数据库的orm字段关系映射
- 提供对象关系映射标签,支持对象关系组建维护
- 提供xml标签,支持编写动态sql。
最重要的一点:使用的人多!
Spring SpringMVC 同样是:使用的人多
SpringBoot:更简单了