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)

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值