mybatis工作流程图

mybatis简介:
mybaits是一个持久层的框架,apache的一个顶级项目。mybatis让程序员讲主要精力放在sql上,通过mybatis提供提供的映射方式,自由灵活生成(半个ORM框架,半自动化,sql需要程序员书写)满足业务需求,mybatis将preparedStatement中的输入参数自动进行输入映射,并且将查询结构灵活地映射为java类型。mybatis使用方法有两种,如下:

	1.基于传统方式statementid方式 
	2.基于mapper接口的方式;后者,项目中最常用。

mybatis的包含以下几个组件:
SqlSessionFactory、SqlSession、Executor、Mapper。

在这里插入图片描述
其中sqlSessionFactory 一般使用单例模式,SqlSesion包含属性,所以线程不安全,所以SqlSessiony一般作为方法的局部变量。

Mybatis中有一级缓存和二级缓存,默认情况下一级缓存是开启的,而且是不能关闭的。一级缓存
是指 SqlSession 级别的缓存,当在同一个 SqlSession 中进行相同的 SQL 语句查询时,第二次以
后的查询不会从数据库查询,而是直接从缓存中获取,一级缓存最多缓存 1024 条 SQL。二级缓存
是指可以跨 SqlSession 的缓存。是 mapper 级别的缓存,对于 mapper 级别的缓存不同的
sqlsession 是可以共享的。
在这里插入图片描述

  1. Mybatis 的一级缓存原理 ( sqlsession 级别 )
    第一次发出一个查询 sql,sql 查询结果写入 sqlsession 的一级缓存中,缓存使用的数据结构是一
    个 map。
    key:MapperID+offset+limit+Sql+所有的入参
    value:用户信息
    同一个 sqlsession 再次发出相同的 sql,就从缓存中取出数据。如果两次中间出现 commit 操作
    (修改、添加、删除),本 sqlsession 中的一级缓存区域全部清空,下次再去缓存中查询不到所
    以要从数据库查询,从数据库查询到再写入缓存。
  2. 二级缓存原理 ( mapper 基本 )
    二级缓存的范围是 mapper 级别(mapper同一个命名空间),mapper 以命名空间为单位创建缓
    存数据结构,结构是 map。mybatis 的二级缓存是通过 CacheExecutor 实现的。CacheExecutor
    其实是 Executor 的代理对象。所有的查询操作,在 CacheExecutor 中都会先匹配缓存中是否存
    在,不存在则查询数据库。
    key:MapperID+offset+limit+Sql+所有的入参
    具体使用需要配置:
  3. Mybatis 全局配置中启用二级缓存配置
  4. 在对应的 Mapper.xml 中配置 cache 节点
  5. 在对应的 select 查询节点中添加 useCache=true
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Spring Boot MyBatis架构图主要包括以下几个主要组件: 1. Spring Boot:Spring Boot是一个用于快速构建Spring应用程序的开发框架。它简化了Spring应用程序的配置和部署过程,并提供了许多开箱即用的功能。 2. MyBatisMyBatis是一个持久层框架,用于将Java对象映射到关系型数据库中的数据。它提供了一种简单而强大的方式来进行数据库操作,使得开发人员可以轻松地执行CRUD操作。 3. 数据库:数据库是存储和管理数据的地方。在Spring Boot MyBatis架构图中,数据库用于存储应用程序的数据。 4. MyBatis配置文件:MyBatis配置文件是配置MyBatis框架的地方。它指定了数据库连接信息、映射文件的位置等重要配置。 5. 映射文件:映射文件是将Java对象映射到数据库表的地方。它定义了对象属性和数据库列之间的映射关系,以及操作数据库的SQL语句。 6. Mapper接口:Mapper接口是定义数据库操作方法的地方。它通常与映射文件相对应,提供了与数据库交互的方法。 7. Service层:Service层是应用程序的业务逻辑层。它负责处理业务逻辑,将请求转发给Mapper接口进行数据库操作。 8. Controller层:Controller层是应用程序的控制器层。它接收客户端的请求,调用Service层处理业务逻辑,并返回响应给客户端。 9. 数据库连接池:数据库连接池是用于管理数据库连接的工具。它提供了一种复用数据库连接的机制,提高了数据库访问性能。 总之,Spring Boot MyBatis架构图展示了Spring Boot与MyBatis框架的整合过程,包括数据库、配置文件、映射文件、Mapper接口、Service层和Controller层等组件。它们共同协作,实现了从客户端请求到数据库操作的完整流程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值