北京
拉勾教育MyBatis源码分析 - SQL执行过程之 StatementHandler

拉勾教育MyBatis源码分析 - SQL执行过程之 StatementHandler

价格面议2020-11-27 14:38:22

提示:与商家沟通请核实商家资质,交易过程注意核实身份及商品/服务的真实性。

lagoujiaoyu01

注册时间:2020-08-27

信息详情

在前面一系列的文档中,我已经分析了 MyBatis 的基础支持层以及整个的初始化过程,此时 MyBatis 已经处于就绪状态了,等待使用者发号施令了 拉勾IT课小编为大家分解
拉勾教育MyBatis源码分析 - SQL执行过程之 StatementHandler
拉勾教育MyBatis源码分析 - SQL执行过程之 StatementHandler
拉勾教育MyBatis源码分析 - SQL执行过程之 StatementHandler

那么接下来我们来看看它执行SQL的整个过程,该过程比较复杂,涉及到二级缓存,将返回结果转换成 Java 对象以及延迟加载等等处理过程,这里将一步一步地进行分析:

• 《SQL执行过程(一)之Executor》

• 《SQL执行过程(二)之StatementHandler》

• 《SQL执行过程(三)之ResultSetHandler》

• 《SQL执行过程(四)之延迟加载》

MyBatis中SQL执行的整体过程如下图所示:

在 SqlSession 中,会将执行 SQL 的过程交由Executor执行器去执行,过程大致如下:

1. 通过DefaultSqlSessionFactory创建与数据库交互的 SqlSession “会话”,其内部会创建一个Executor执行器对象

2. 然后Executor执行器通过StatementHandler创建对应的java.sql.Statement对象,并通过ParameterHandler设置参数,然后执行数据库相关操作

3. 如果是数据库更新操作,则可能需要通过KeyGenerator先设置自增键,然后返回受影响的行数

酷易搜提醒您:

1、为了您的资金安全,请选择见面交易,任何要求预付定金、汇款等方式均存在风险,谨防上当受骗!
2、确认收货前请仔细核验产品质量,避免出现以次充好的情况。
3、该信息由酷易搜网用户自行发布,其真实性及合法性由发布人负责,酷易搜网仅引用以供用户参考,详情请阅读酷易搜网免责条款。 查看详情>

该用户其他信息

你可能还喜欢

北京热门公司

北京热门资讯

lagoujiaoyu01
×
发送即代表同意《隐私协议》允许更多优质供应商为您服务