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或者基本数据类型,并将最终结果返回。
分享到:
相关推荐
总结来说,"spring_mybatis框架myeclipse8.5版本"项目结合了Spring、Spring MVC和MyBatis的优势,构建了一个高效的Java Web应用框架。在JDK7和MyEclipse8.5的支持下,开发者可以便捷地开发、调试和部署项目,实现...
基于SpringMVC+Spring3+Mybatis框架的OA项目.zip基于SpringMVC+Spring3+Mybatis框架的OA项目.zip基于SpringMVC+Spring3+Mybatis框架的OA项目.zip基于SpringMVC+Spring3+Mybatis框架的OA项目.zip基于SpringMVC+Spring...
在SSM整合中,Spring作为整体的容器,管理SpringMVC和Mybatis中的所有组件。SpringMVC负责处理HTTP请求,Mybatis则负责数据库操作。Spring通过Bean定义来管理和装配这些组件,包括SpringMVC的Controller、Service...
总的来说,这个"struts2+spring3+mybatis框架最全jar包"集合,对于Java Web开发者来说是一份宝贵的资源,可以帮助他们快速搭建起一个功能完善的开发环境,同时也便于理解和学习这些框架的内部机制。在使用过程中,...
7. **开发流程**:开发时,首先设计数据库表,然后编写MyBatis的Mapper接口和XML文件,接着创建Service接口和实现类,完成业务逻辑,最后编写Controller处理HTTP请求,并调用Service方法。测试过程中,可以使用单元...
标题 "idea14+maven+struts+spring+mybatis框架" 描述的是一个使用IntelliJ IDEA 14集成开发环境,结合Maven构建工具,以及SSH(Struts、Spring、Hibernate)经典企业级开发框架,并融入MyBatis持久层框架的项目。...
SSM框架整合是Java开发中常见的技术组合,包括Spring 4.0、Spring MVC 4.0和Mybatis 3.2。这三个组件一起构建了一个强大的后端开发环境,能够处理复杂的业务逻辑、数据访问以及用户界面交互。下面将详细阐述这三个...
这个压缩包"Spring+SpringMVC+Mybatis框架整合例子(SSM).zip"提供了SSM整合的示例项目,旨在帮助开发者理解和实践这三大框架的集成与协作。 首先,Spring框架是Java企业级应用的核心,它提供了一个全面的编程和配置...
Spring作为整体的管理容器,负责初始化和管理Spring MVC和MyBatis的配置。Spring MVC通过DispatcherServlet接收请求,并将处理工作委托给Spring管理的Service层,Service层再通过MyBatis执行数据库操作。整个过程中...
在“手写自己的MyBatis框架1”这个课程中,我们将深入理解MyBatis的核心特性、工作原理以及如何构建一个类似MyBatis的轻量级框架。 首先,回顾前三次课的内容: 1. **核心特性和高级用法**: - MyBatis的核心特性...
该毕业设计主要解决了老师,课程,学生之间的关联关系,采用了spring mvc,spring,mybatis框架,主要功能包括:课程管理,学生管理,教师管理,账号密码重置等功能。 整体业务需求对于学生来说非常简单,是一个适合...
Mybatis框架** Mybatis是一个轻量级的持久层框架,它简化了Java与数据库的交互。Mybatis通过XML或注解配置,映射SQL语句和Java方法,实现了动态SQL,避免了JDBC的繁琐操作。Mybatis支持存储过程,一对一、一对多、...
Spring负责整体的控制反转和面向切面编程,SpringMVC处理Web请求,MyBatis则专注于数据访问。通用Mapper和MyBatis的代码生成工具进一步提高了开发效率,Log4j用于日志记录,拦截器增强了系统功能,而Layui则提供了...
这个框架组合利用了Spring MVC作为前端控制器,Spring作为整体应用的管理和调度中心,MyBatis作为持久层的数据访问框架。下面将详细介绍这三个组件以及它们在实际开发中的应用。 1. **Spring MVC**: - **核心概念...
首先,Struts2是基于MVC设计模式的Action框架,它在Web层负责处理用户的请求,执行业务逻辑,并返回相应的视图。Struts2的核心是Action和Interceptor(拦截器),通过配置Action和Interceptor,我们可以实现灵活的...
SSM框架,即Spring、Spring MVC和MyBatis的整合,是Java开发中常见的Web应用框架,用于构建高效、灵活的后端服务。本教程将详细介绍如何配置和搭建这一框架,帮助开发者理解其核心概念和操作流程。 首先,我们要...
在IT行业中,Spring、SpringMVC和MyBatis是三个非常重要的开源框架,它们共同构建了一个强大且灵活的企业级应用开发环境。这篇文章将详细解析这三个框架的集成与使用,以及如何利用MyBatis生成文件和处理MySQL数据库...
4. **SSH框架集成**:在SSH框架集成中,Spring作为整体架构的基石,负责整个应用的上下文管理和依赖注入。SpringMVC作为Web MVC框架,处理HTTP请求,并与Spring容器进行交互。MyBatis作为数据访问层,提供对数据库的...
3. **MyBatis**:MyBatis是一个持久层框架,它允许开发者将SQL语句直接写在XML配置文件或者注解中,实现了SQL与Java代码的解耦,提高了开发效率。 4. **信息系统设计**:包括数据库设计、接口设计、安全性设计等,...
在SSM框架集成中,Spring作为整体的容器,管理SpringMVC和MyBatis的组件。SpringMVC与MyBatis通过Spring的配置进行交互,例如使用Spring的DataSource、TransactionManager等来配置数据源和事务管理。MyBatis的...