Mybatis(1)

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.二级缓存的生命周期与整个应用程序的生命周期相同,当应用程序关闭时,二级缓存也会被清空。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值