0
点赞
收藏
分享

微信扫一扫

Mybatis的工作原理

数数扁桃 2023-07-28 阅读 64

1、读取Mabatis配置文件

mabatis-config.xml为MyBatis的全局配置文件,配置了MaBatis的运行环境等信息,例如数据库连接信息。

2、加载映射文件

加载通过Mapper.xml配置或者注解的SQL映射,该文件中配置了操作数据库的SQL语句,需要在MaBatis配置文件mabatis-config.xml中加载。

3、构造会话工厂:SqlSessionFactory

通过Mabatis的环境等配置信息构建会话工厂SqlSessionFactory。

4、创建会话对象:SqlSession

由会话工厂创建SqlSession对象,该对象中包含了执行SQL语句的所有方法。

5、Executor执行器

MaBatis底层定义了一个Executor接口来操作数据库,它将根据SqlSession传递的参数动态地生成需要执行的SQL语句,同时负责查询缓存的维护。

6、MappedStatement对象

在Executor接口的执行方法中有一个MappedStatement类型的参数,该参数是对映射信息的封装,用于存储要映射的SQL语句的id、参数等信息。也就是Mapper.xml文件配置的最终是MappedStatement实体类进行对应。

7、输入参数映射

输入参数类型可以是Map、List等集合类型,也可以是基本数据类型和POJO类型。输入参数映射过程类似于JDBC对preparedStatement对象设置参数的过程。

8、输出结果映射

输出结果类型是可以Map、List等集合类型,也可以是基本数据类型和POJO类型,输出结果映射过程类似于JDBC对结果集的解析过程。

MaBatis的核心组件

MyBatis的核心组件分为4个部分

1、SqlSessionFactoryBuilder(构造器)

会根据配置或者代码来生成SqlSessionFactory,采用的是分步构建的Builder模式。

2、SqlSessionFactory(工厂接口)

依靠它来生成SqlSession,使用的是工厂模式。

3、SqlSession(会话)

一个既可以发送SQL执行返回结果,也可以获取Mapper的接口。在现有的技术中,一般会让器在业务逻辑代码中“消失”,而使用的是MaBatis提供的SQL Mapper接口编程技术,它能提高代码的可读性和可维护性。

4、SQLMapper(映射器)

MaBatis新设计存在的组件,它由一个Java接口和XML文件(或注解)构成,需要给出对应的SQL和映射规则,它负责发送SQL去执行,并返回结果。

举报

相关推荐

0 条评论