mybatis架构

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

那么展开解释每层职责

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

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

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

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

相关推荐
君爱学习20 分钟前
JVM对象分配内存如何保证线程安全?
java
一点晖光32 分钟前
Docker 中 Crontab 不执行的原因与解决方案
java·docker·定时任务
BD_Marathon40 分钟前
【JavaWeb】Tomcat_部署项目方式
java·tomcat
倔强的小石头_42 分钟前
Python 从入门到实战(六):字典(关联数据的 “高效管家”)
java·服务器·python
毕设源码-郭学长42 分钟前
【开题答辩全过程】以 个性化电影推荐系统为例,包含答辩的问题和答案
java
500841 小时前
存量 Flutter 项目鸿蒙化:模块化拆分与插件替换实战
java·人工智能·flutter·华为·ocr
一水鉴天1 小时前
整体设计 定稿 备忘录仪表盘方案 之3 改造 为 “整体设计”的完整方案(初稿)之2 程序讨论和准备(豆包助手 )
人工智能·架构·自动化
Hy行者勇哥1 小时前
Notion版「内容知识库模板」全解析:从架构原理到实操攻略
架构·notion
Tao____1 小时前
基于若依RuoYi框架开发的物联网平台
java·物联网·mqtt·ruoyi·设备对接
caterpillar1 小时前
Spring Method Agent:一款无侵入的Spring方法级调试神器
java