1.介绍
MyBatis-----这是一个持久化层的框架,这是一个ORM的框架
持久化-----泛指所有针对数据库的操作
ORM--------对象关系映射:
数据库中的一张表和java中的一个实体类对于,
表中的一个字段和java中的成员变量对应,
表中的一行记录和java中的一个对象对应
2搭建MyBatis框架步骤
(1)创建Maven项目,导入MyBatis和数据库的依赖
在pom.xml中加入
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
</dependencies>
(2)在pom.xml中指明配置文件路径
通过配置 <resources>
标签,MyBatis 将会在指定的目录下查找符合匹配规则的 XML 映射文件,并将其加载到 MyBatis 的配置中,以供后续的 SQL 执行和映射操作使用。
<resources>
<resource>
<directory>
src/main/java
</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include></includes>
</resource>
</resources>
(3) 添加实体类对应数据库中的表
例如现在有个book表
在idea中
(4)在resources中创建一个叫做mybatis-config.xml的文件,他是mybatis核心文件,用于配置 MyBatis 的全局设置和各种插件、类型处理器、映射器等。
先从mybatis中文文档中复制黏贴这一段话到mybatis-config.xml中
1的位置是导入连接mysql的驱动程序
2的位置写数据库的url,例如
jdbc:mysql://localhost:3306/credit?characterEncoding=utf-8
3的位置写账号密码
最基础的做完了,后面还需加入总的配置文件
(5)添加sql语句配置文件
创一个dao包,在里面加入mybook.xml,在里面写sql语句
(6)再总的配置文件夹加载sql语句的配置文件
(7)再添加测试类,配置二级缓存和一级缓存,完成测试
一级缓存:
1. 一级缓存是 MyBatis 默认开启的缓存机制,也称为本地缓存。
2.一级缓存是基于线程的缓存,每个 SqlSession 都有自己的一级缓存。
3.当应用程序执行查询时,查询结果会被存储在当前 SqlSession 的一级缓存中。
4.如果后续相同的查询再次执行,MyBatis 会首先尝试从一级缓存中获取结果,而不是再次向数据库发送查询请求。
-5.一级缓存的生命周期与 SqlSession 的生命周期相同,当 SqlSession 关闭时,一级缓存也会被清空。
二级缓存:
1. 二级缓存是基于 Mapper 的缓存机制,可以实现多个 SqlSession 之间的缓存共享。
2.二级缓存是跨 SqlSession 的缓存,可以在多个 SqlSession 之间共享缓存数据。
3.二级缓存默认是关闭的,需要在 MyBatis 的配置文件中进行配置开启。
4.当一个查询被执行时,查询结果会被存储在对应的 Mapper 的二级缓存中。
5.当后续的 SqlSession 执行相同的查询时,MyBatis 会首先尝试从二级缓存中获取结果。
6.二级缓存的生命周期与整个应用程序的生命周期相同,当应用程序关闭时,二级缓存也会被清空。