mybatis架构

分为三层:接口层、数据处理层、框架支撑层

那么展开解释每层职责

1.接口层:包含新增、删除、查询、修改接口。其调用方式大致分为两种:一种是基于statementId,一种是基于Mapper接口。另外还维护配置信息的接口

2.数据处理层,大致四个方面:参数映射、SQL解析、SQL执行、以及结果处理和映射

  • 参数映射:包含参数的映射配置、映射解析、类型解析
  • SQL解析:包含SQL语句配置、解析以及动态生成
  • SQL执行:主要是执行SQL,交由执行器Executor去执行。底层还是走的jdbc的链路。
  • 结果集处理和映射:主要是结果映射配置以及结果类型转换。这里交由StatementHandler去执行,涉及ParameterHandler设置参数、TypeHandler类型转换以及ResultSetHandler结果集映射处理

3.框架支撑层:配置加载、事务管理、连接池管理、缓存机制

相关推荐
木雷坞36 分钟前
我再也不敢随手 `docker compose down -v` 了
架构
没落英雄40 分钟前
从零开始搭建一个 AI Agent —— LangChain + TypeScript 实战手记
前端·人工智能·架构
doiito1 小时前
【Agent Harness】Gliding Horse 设计细节 -- 不跟风开发自己的AI Agent
架构·rust·agent
亦暖筑序1 小时前
Java 8老系统AI Workflow实战:把一次性AI对话升级成可恢复工作流
java·后端
敲代码的彭于晏2 小时前
Bean 生命周期完全图解:前端同学也能看懂的 Spring 核心机制
java·前端·后端
plainGeekDev3 小时前
ButterKnife → ViewBinding
android·java·kotlin
像我这样帅的人丶你还19 小时前
Java 后端详解(四):分页与搜索
java·javascript·后端
她的男孩19 小时前
数据权限为什么不能只靠注解?Forge 的 Mapper 层 SQL 改写源码拆解
java·后端·架构
小爷毛毛_卓寿杰19 小时前
我把 397B 的「Agentic 大脑」塞进了 Xinference,一键部署 Nex-N2
人工智能·架构·github
tntxia20 小时前
Mybatis的日志输入
java