当前位置: 首页 > article >正文

(一)MyBatis源码阅读:明晰项目结构

一、进入官网

点击以下链接进入官网:mybatis – MyBatis 3 | 配置,进入配置页面可以查看 MyBatis的配置结构,从该结构中可以知道MyBatis的配置结构。

MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下:

  • configuration(配置)

  • properties(属性)

  • settings(设置)

  • typeAliases(类型别名)

  • typeHandlers(类型处理器)

  • objectFactory(对象工厂)

  • plugins(插件)

  • environments(环境配置)

    • environment(环境变量)

      • transactionManager(事务管理器)

      • dataSource(数据源)

  • databaseIdProvider(数据库厂商标识)

  • mappers(映射器)

二、项目结构

Mybatis的整体框架分为三层,分别是基础支持层、核心处理层、和接口层。如下图

(一) 接口层

首先接口层是我们打交道最多的。核心对象是SqlSession,它是上层应用和MyBatis打交道的桥梁,SqlSession上定义了非常多的对数据库的操作方法。接口层在接收到调用请求的时候,会调用核心处理层的相应模块来完成具体的数据库操作。

(二) 核心处理层

接下来是核心处理层。既然叫核心处理层,也就是跟数据库操作相关的动作都是在这一层完成的。

核心处理层主要做了这几件事:

  1. 把接口中传入的参数解析并且映射成JDBC类型;

  2. 解析xml文件中的SQL语句,包括插入参数,和动态SQL的生成;

  3. 执行SQL语句;

  4. 处理结果集,并映射成Java对象。

插件也属于核心层,这是由它的工作方式和拦截的对象决定的。

(三) 基础支持层

最后一个就是基础支持层。基础支持层主要是一些抽取出来的通用的功能(实现复用),用来支持核心处理层的功能。比如数据源、缓存、日志、xml解析、反射、IO、事务等等这些功能,

(四) 工作流程

MyBatis的主要工作流程图


http://www.kler.cn/a/7145.html

相关文章:

  • “fc-async”提供了基本的异步处理能力
  • Django5 2024全栈开发指南(一):框架简介、环境搭建与项目结构
  • hive中map_concat函数介绍
  • 基于Lora通讯加STM32空气质量检测WIFI通讯
  • 传奇996_24——变量lua
  • OpenHarmony-1.启动流程
  • 乐鑫 × 全国大学生物联网设计竞赛|探究基于 ESP32-S3 的农业革新应用
  • 【SQL开发实战技巧】系列(四十六):Oracle12C常用新特性☞会话级序列及数据泵(DataPump增强)支持像表一样导出视图
  • 单例设计模式
  • VS2019使用VLD(Visual Leak Detector)检测CPP内存泄漏
  • FPGA有哪些优质的带源码的IP开源网站?
  • ChatGPT如何写作-怎么让chatGPT批量写作
  • GPG Overview
  • 算法学习|动态规划 LeetCode 1049. 最后一块石头的重量 II、 494. 目标和、474.一和零
  • Vue3学习笔记(9.3)
  • 常用的32种设计模式
  • 记一次ios重打包签名的过程
  • Vue|计算属性
  • ATE测试工程师还有发展前景吗?薪资待遇怎么样?
  • [ctfshow 2023 愚人杯] crypto,rev,pwn
  • 【JavaWeb】3—JavaScript
  • 开发板 ping 虚拟机
  • redis源码解析(三)——dict
  • 网络优化小结
  • Matplotlib 数据绘图基础入门
  • json-chatGPT-httpstatus