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去执行,并返回结果。
标签:MaBatis,映射,接口,工作,SqlSession,参数,SQL,Mybatis,原理 From: https://blog.51cto.com/u_11315052/6880004