Mybatis源码揭秘:架构原理。

摘要

Mybatis源码,让我们一起探索它的奥秘吧!从总体构架和基本原理开始,深入了解每一个步骤,感受它的魅力。

正文

【Mybatis源代码分析】- 总体构架及基本原理

总体构架

version-3.5.5

在深入了解Mybatis的源代码以前,大家先了解一下Mybatis的总体构架和原理,那样有利于我们在阅读文章源代码全过程中掌握构思和步骤。

关键步骤

在上一遍的新手入门程序流程中,大家根据实例编码简易的详细介绍了怎样根据Myabtis开展一个简易的增删,并且用简易的流程叙述了实例程序流程的运作全过程。为了更好地更形象化,其原理可了解成以下流程:
image

  • 复位环节:载入XML环境变量和注释中的配备信息内容,建立配备目标,并进行每个控制模块的复位的工作中
  • 代理商环节:封裝iBatis的程序编写实体模型,应用mapper接口开发的复位工作中
  • 数据信息读写能力环节:数据信息读写能力环节:根据SqlSession进行SQL的分析,主要参数的投射、SQL的实行、結果的分析全过程

总体构架

image

大家从工作中电路原理图中也能见到构架的身影。这是一个Mybatis的逻辑性区划框架图,能够 分为三层

  • 插口层:通SqlSession类给予对数据库查询浏览工作能力,掩藏了事后繁杂的解决逻辑性。
  • 关键解决层:关键承担实行SQL,并回到結果
  • 基本适用层:对一些基本作用开展封裝,为关键解决层给予服务项目。

编码构造

image

Mybatis的工程项目构造十分的清楚,大部分根据报考就可以掌握到该控制模块的作用应用情景,能十分快速的帮大家精准定位编码和掌握作用。

  1. annotations:注释配备
  2. binding:关联、代理商 给予 Mapper 插口与 XML 投射文档开展关系的适用
  3. builder:搭建、配备分析
  4. cache:缓存文件
  5. cursor:游标卡尺
  6. datasource:数据库
  7. exceptions:出现异常(大部分每一个包下都是有自身的自定义异常)
  8. executor: SQL电动执行机构
  9. io:資源载入
  10. jdbc:jdbc实际操作
  11. lang:语言表达 UsesJava7、UsesJava8
  12. logging:日志适用
  13. mapping:投射主要参数、結果、SQL
  14. parsing:在线解析 XPath、Token分析
  15. plugin:软件适用
  16. reflection:反射面作用封裝
  17. scripting:脚本制作
  18. session: 对话
  19. transaction:事务管理
  20. type:种类 jdbcType,javaType转换
  21. util:工具箱

策略模式

源代码中应用了许多的策略模式

  • SqlSession应用门面模式
  • 日志控制模块应用了适配器模式
  • 数据库控制模块应用工厂模式
  • 数据信息数据库连接池应用策略模式
  • 缓存文件控制模块应用了装饰器模式
  • Executor控制模块应用了模版方式 方式
  • Builder控制模块应用了建造者模式
  • Mapper插口应用了分销模式
  • 软件控制模块应用责任链模式

汇总

总体来说,Mybatis的编码还算比较好了解的,相对性简单易懂。在掌握JDBC的实际操作基本原理后,在融合Mybatis的运作基本原理,就能大概掌握其工作内容了。事后大家将一步一步尽心竭力剖析!

关注不迷路

扫码下方二维码,关注宇凡盒子公众号,免费获取最新技术内幕!

温馨提示:如果您访问和下载本站资源,表示您已同意只将下载文件用于研究、学习而非其他用途。
文章版权声明 1、本网站名称:宇凡盒子
2、本站文章未经许可,禁止转载!
3、如果文章内容介绍中无特别注明,本网站压缩包解压需要密码统一是:yufanbox.com
4、本站仅供资源信息交流学习,不保证资源的可用及完整性,不提供安装使用及技术服务。点此了解
5、如果您发现本站分享的资源侵犯了您的权益,请及时通知我们,我们会在接到通知后及时处理!提交入口
0

评论0

请先

站点公告

🚀 【宇凡盒子】全网资源库转储中心

👉 注册即送VIP权限👈

👻 全站资源免费下载✅,欢迎注册!

记得 【收藏】+【关注】 谢谢!~~~

立即注册
没有账号?注册  忘记密码?

社交账号快速登录