1.Mybatis简介
-
1.什么是Mybatis?
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
1.MyBatis 是一款优秀的持久层框架
2.它支持自定义 SQL、存储过程以及高级映射
3.避免了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作
4.MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
5.最新版本是Mybatis 3.5.4 ,
6.Mybatis中文文档:mybatis – MyBatis 3 | 简介 https://mybatis.org/mybatis-3/zh/index.html
-
2.如何获得Mybatis?
maven仓库
Maven Repository: org.mybatis » mybatis » 3.5.4 https://mvnrepository.com/artifact/org.mybatis/mybatis/3.5.4
GitHub
Releases · mybatis/mybatis-3 https://github.com/mybatis/mybatis-3/releases
-
3.持久层
数据持久化:持久化就是将程序的数据在持久状态和瞬时状态转换的过程
瞬时状态 (Transient):只是在jvm内存获取一块空间,还没有在数据库中处于持久化状态,它的最大特点是:在数据库不存在与它对应的记录。
例如:Student s=new Student();
瞬时态的特点:①、不与session实例关联;②、在数据库中没有和瞬时对象关联的记录。
持久化状态:持久化对象就是已经被保存进数据库的实体对象,并且这个实体对象还处于hibernate的缓存管理中,这时对实体对象的任何修改,都会在清理缓存时同步到数据库中。
持久态的特点是:①、持久的实例在数据库中有对应的记录并拥有一个持久化标识(identifier);②、和session相关
将瞬时态的对象转化成持久态的对象:通过session对象的save()或saveorupdate()方法,该方法把一个瞬时对象与数据库相关联,这个瞬时对象就称为持久化对象。
游离态(托管状态):该状态最大的特征就是对象脱离了缓存管理状态
游离态与瞬时态的区别是:瞬时态时数据库没有与其对应的记录,
而游离态时数据库中有一个对应的记录但是脱离了Mybatis缓存管理状态。
内存:断电即失
持久化的方式:数据库(JDBC),IO文件持久化
-
4.为什么要持久化
- 有一些对象不能让它丢失
- 内存太贵了
-
5.为什么要Mybatis?
- 方便
- 传统的JDBC代码太复杂了,
- 帮助程序员将数据存入到数据库
- 优点:
*简单易学
*sql和代码分离,提高了可读性
*提供映射标签。支持对象与数据库的orm字段关系映射
*提供对象关系映射标签,支持对象关系组件维护
*提供xml标签,支持编动态sql