1.引言
本文主要讲解Mybatis的整体程序设计,理清楚框架的主要脉络。后面文章我们再详细讲解各个组件。
2.整体设计
2.1 总体流程
(1)加载配置并初始化
触发条件:加载配置文件
配置来源于两个地方,一处是配置文件,一处是Java代码的注解,将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中。
(2)接收调用请求
触发条件:调用Mybatis提供的API
传入参数:为SQL的ID和传入参数对象
处理过程:将请求传递给下层的请求处理层进行处理。
(3)处理操作请求
触发条件:API接口层传递请求过来
传入参数:为SQL的ID和传入参数对象
处理过程:
(A)根据SQL的ID查找对应的MappedStatement对象。
(B)根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。
(C)获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果。
(D)根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果。
(E)释放连接资源。
(4)返回处理结果
将最终的处理结果返回。
2.2 功能架构设计
功能架构讲解:
我们把Mybatis的功能架构分为三层:
(1)API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。
(2)数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。
(3)基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。
2.3 框架架构设计
框架架构讲解:
(1)加载配置:配置来源于两个地方,一处是配置文件,一处是Java代码的注解,将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中。
(2)SQL解析:当API接口层接收到调用请求时,会接收到传入SQL的ID和传入对象(可以是Map、JavaBean或者基本数据类型),Mybatis会根据SQL的ID找到对应的MappedStatement,然后根据传入参数对象对MappedStatement进行解析,解析后可以得到最终要执行的SQL语句和参数。
(3) SQL执行:将最终得到的SQL和参数拿到数据库进行执行,得到操作数据库的结果。
(4)结果映射:将操作数据库的结果按照映射的配置进行转换,可以转换成HashMap、JavaBean或者基本数据类型,并将最终结果返回。
- 大小: 17.3 KB
- 大小: 121.6 KB
分享到:
相关推荐
为了深入了解前端开发中的框架设计原理,以Zepto前端框架为例,利用Javascript原型链的相关知识,采用原生Javascript与框架对比的方法剖析了框架整体设计思路,细致分析了框架的大致架构,重构了Zepto对象原型,并...
根据提供的信息,《Android应用框架原理与程序设计36技》由高焕堂撰写,该书主要探讨了Android应用框架的设计原则和技术细节,并提供了丰富的实践案例。以下是对标题、描述及部分内容涉及的关键知识点进行的深入解析...
2. 样式设计:wxss文件展示了如何使用微信小程序的CSS扩展来实现响应式布局和动画效果。这包括选择器、单位、颜色、布局模型(如Flexbox)等。 3. 业务逻辑:js文件包含了应用程序的核心逻辑,如数据管理、网络请求...
在"微信小程序 Railay:整体框架 (源码).rar"这个压缩包中,我们能够获取到Railay框架的完整源代码,这对于深入理解其工作原理以及定制化开发是非常有价值的。 1. 微信小程序框架: 微信小程序框架基于WXML...
### 框架设计原则与Dubbo设计原理详解 #### 一、框架设计的重要性 在软件开发领域,框架设计的好坏直接影响着项目的可维护性、可扩展性和整体性能。一个优秀的设计不仅能够提升开发效率,还能减少后期维护成本。...
【标题】"高仿Railay:整体框架小程序源码.zip" 涉及的主要知识点是微信小程序(wx-app)的开发,尤其是通过模仿Railay这一知名应用的设计来构建一个完整的小程序框架。Railay通常指的是在泰国知名的攀岩胜地,而在...
《Spring技术内幕:深入解析Spring架构与设计原理(第2版)》从源代码的角度对Spring的内核和各个主要功能模块的架构、设计和实现原理进行了深入剖析。你不仅能从本书中参透Spring框架的出色架构和设计思想,还能从...
- **硬件设计应考虑的问题**:包括电路的可靠性和稳定性,以及如何将硬件设计与软件设计相结合,以提高整体性能。 - **典型的单片机应用系统**:展示了不同类型的单片机应用实例,帮助理解其工作原理和设计思路。 - ...
《整体框架式陶瓷产品承烧板》是一份深入探讨陶瓷行业设计装置的专业文档,主要聚焦于整体框架式承烧板的设计、应用与优化。在这一领域,陶瓷产品的烧制过程至关重要,而承烧板作为承载陶瓷制品的关键设备,其设计...
在本压缩包文件“行业文档-设计...总的来说,这份文档详细阐述了大型钢结构框架整体提升装置的设计原理、施工方法、安全措施及相关的工程技术知识,对于从事钢结构工程设计、施工和管理的专业人员具有很高的参考价值。
本书在开篇之前对Spring的设计理念和整体架构进行了全面的介绍,能让读者从宏观上厘清Spring各个功能模块之间的关系;第一部分详细分析了Spring的核心:IoC容器和AOP的实现,能帮助读者了解Spring的运行机制;第二...
此外,源码分析将有助于理解框架的工作原理,便于进行二次开发和性能优化。 对于源码的探索,可以按照以下步骤进行: 1. 分析入口文件:找到项目的主入口,了解启动流程和全局设置。 2. 深入组件:研究预置的UI组件...
《多层钢筋混凝土框架结构设计》是一份...总之,这份PPT教案详细介绍了多层钢筋混凝土框架结构的设计原理和方法,包括承重方案选择、构件尺寸的确定以及计算简图的建立,对于理解和设计这类结构具有重要的指导价值。
2. 指标体系框架设计原理:遵循系统性、全面性、结构性、差异性和重要性原则,以构建集团指标体系框架设计相关理论为指导。 指标体系框架要素: 1. 指标名称 2. 时间 3. 数值 4. 维度属性:物料维度、空间维度、...
根据提供的信息,我们可以总结并深入探讨《Android应用框架原理与程序设计36技》这本书中的核心知识点。 ### 1. 应用框架概念 #### 1.1 何谓应用框架 - **定义**:应用框架是一种软件架构,它提供了一套预定义的...
本文首先介绍了MVC的基本原理及其各组成部分的功能划分,然后深入分析了MVC设计中所涉及的设计模式,特别是Observer、Composite和Strategy三种模式的应用。 #### 1. MVC原理 MVC设计模式的核心思想是将应用程序的...