mybatis源码分析一、mybatis的执行流程

本文详细解析了Mybatis的4层架构,包括接口层、数据处理层、框架支撑层和引导层,以及其执行流程,重点介绍了核心接口如SqlSessionFactory、SqlSession和Executor的角色与职责。同时,还展示了自定义框架流程和类图结构。
摘要由CSDN通过智能技术生成

mybatis源码分析一、mybatis的执行流程

一、mybatis架构设计

在这里插入图片描述

mybatis4层架构的作用?

  • 第一层接口层:主要是提供增加、删除、修改、查询等接口,通过API接口对数据库进行操作
  • 第二层数据处理层:主要负责SQL的 查询、解析、执行以及结果映射的处理,主要作用解析sql根据调用请求完成一次数据库操作
  • 第三层框架支撑层:负责通用基础服务支撑,包含事务管理、连接池管理、缓存管理等共用组件的封装,为上层提供基础服务支撑.
  • 第四层引导成:引导层是配置和启动MyBatis 配置信息的方式

2、Mybatis 的执行流程与其主要组件

  1. 大致执行流程

在这里插入图片描述

  1. 核心接口/类的主要功能
分工协作角色定位类名定义
负责读取配置文件资源辅助类Resources
负责存储数据库连接信息数据库资源类Configuration
负责存储SQL映射定义、存储结果集映射定义SQL与结果集资源类MappedStatement
负责解析配置文件,创建会话工厂SqlSessionFactory会话工厂构建者SqlSessionFactoryBuilder
负责创建会话SqlSession会话工厂SqlSessionFactory
指派执行器Executor会话SqlSession
负责执行SQL (配合指定资源Mapped Statement)执行器Executor
  1. 自定义框架流程
  • 读取配置文件,定义一个resource类读取xml等配置文件,加载具体的配置信息提供一个加载流的方法Resources.getResourceAsReader

  • 创建配置类configuration(核心配置类) 存放myatis-config.xml核信配置信息,MapperdStatement映射配置类主要存放mapper.xml解析出来的配置信息

  • 解析配置文件利用demo4j,并创建sqlsession会话对象,创建sqlsessionfaatoryBuilder类,使用demo4j解析配置文件,将解析的配置内容存放到configuration文件中去。

  • 创建sqlsessionFactory接口以及实现类DefaultSqlSessionFacotory ,创建sqlsession

  • 创建sqlsession接口以及实现类DefaultSqlSession,定义对数据库的crud操作

  • 创建executor接口以及实现类simpleExecutor,创建query执行jdbc代码

  1. mybatis类图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

久★伴i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值