mybatis基本工作原理
Mybatis是一款Java持久层框架,是著名的SqlMap框架的升级版。Mybatis的本质是一个ORM框架,是一种半自动化的框架,将数据库中的数据与Java对象建立映射关系,使Java对象与关系型数据库中的表结构进行映射,从而实现数据的持久化存储及后续的CRUD操作。
一、Mybatis工作流程
Mybatis的工作流程主要可以分为三个步骤:准备工作、执行工作和结果处理。
1. 准备工作
在执行SQL之前,Mybatis需要先加载并解析配置文件,并通过配置文件中的信息构建出SqlSessionFactory对象。然后,SqlSessionFactory会创建SqlSession对象,并且在此过程中会设置数据库连接,以及配置一些参数信息用于后续的SQL执行。
2. 执行工作
执行SQL语句时,SqlSession对象会将SQL语句、参数和对应的映射文件(即配置文件)传
springboot 原理解析递给Executor对象,由Executor对象实际执行SQL语句。Executor对象根据SQL类型的不同,调用相应的Statement和ResultSet来执行和处理SQL语句。
3. 结果处理
当Executor对象执行完SQL语句后,会返回一个包含查询结果的ResultSet对象,SqlSession对象会根据ResultMap对象把ResultSet中的数据映射成Java对象。最后,将映射好的Java对象返回给应用层。
二、Mybatis配置文件
Mybatis的配置文件主要包括两个文件:l和映射文件(*.xml)。
1. l
l是Mybatis的核心配置文件,其中包括数据源等信息。l的配置最核心的是配置数据源,即配置数据库信息。其中,数据源的配置主要包括连接数据库需要的地址、用户名、密码等信息。
2. 映射文件(*.xml)
映射文件主要负责SQL与Java对象的映射关系。其中,常用的标签有:
(1) configuration:该标签包含多个子标签,包含resultMap、parameterMap、typeAlias等子标签,可以用来配置一些基础性的配置信息;
(2) resultMap:该标签用于结果集的映射,定义了结果集的列名和相应Java对象的属性名的映射关系;
(3) statement:该标签用于定义SQL语句的相关配置信息,包括id、parameterType、resultType、SQL语句等信息。
三、Mybatis源码结构
Mybatis的源码结构主要包括三个模块:Core、IBatis、Spring。
1. Core模块
Core模块是Mybatis的核心模块,包含了Mybatis的核心代码、接口及抽象类,代表了Mybatis的基本骨架。
2. IBatis模块
IBatis模块是Mybatis的旧版框架,它和Mybatis的区别在于其基于JDBC执行SQL,而Mybatis则使用SqlMap的方式执行SQL语句,同时还有一些细节上不同的地方。在Mybatis的开发过程中,IBatis的源码有些地方也被使用了。
3. Spring模块
Spring模块是Mybatis对于Spring的支持模块,主要包括对于Spring的整合支持,以及相应的AOP机制等。
总结
Mybatis框架基本工作原理如上所述,通过配置文件来与数据源进行对接,将查询结果映射成Java对象,实现持久化存储及后续修改操作。Mybatis的配置文件拥有完整且灵活的配
置方案,可以根据实际需要进行配置。Mybatis的源码结构中,Core模块是Mybatis的核心骨架,IBatis模块是其旧版,Spring模块是其支持框架集成的模块。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论