MyBatis8-运行原理

八.运行原理

8.1 获取sqlSessionFactory对象

解析文件的每一个信息保存在Configuration中,但会包含Configuration的DefaultSqlSession
注意:MapperStatement:代表一个增删改查的详细信息
1

8.2 获取sqlSession对象

返回一个DefaultSqlSession对象,包含Executor(根据全局配置文件中的defaultExecutorType)和Configuration;
这一步会创建Executor对象;
这里写图片描述

8.3 获取接口的代理对象(MapperProxy)

getMapper,使用MapperProxyFactory创建一个MapperProxy的代理对象
代理对象里面包含了,DefaultSqlSession(Executor)

这里写图片描述

8.4 执行增删改查方法

调用DefauluSqlSession的增删改查(Executor);
会创建一个StatementHandler(同时也创建出ParameterHandler:处理参数
和ResultSetHandler:处理结果);
调用ParameterHandler预编译参数以及设置参数值:
调用StatementHandler的增删改查;
用ResultSetHandler来封装结果集;
注意:四大对象每个创建的时候都有一个interceptorChain.pluginAll(parameterHandler)

这里写图片描述

猜你喜欢

转载自blog.csdn.net/maniacxx/article/details/80382340
今日推荐