六、【源码】SQL执行器的定义和实现

源码地址:https://github.com/mybatis/mybatis-3/

仓库地址:https://gitcode.net/qq_42665745/mybatis/-/tree/06-sql-executor

SQL执行器的定义和实现

之前的Sql执行都是耦合在SqlSession里的,现在要对这部分进行解耦和重构,引申出执行器,查了相关概念,Executor执行器可以说是定义了一个个的SQL的执行流程,用查询方法举例,大概一下几步:

1.获取数据库连接

2.预处理参数

3.设置参数

4.执行Sql

5.拿到结果

再细分就是,执行Sql,然后拿到结果,由于第2、3、4步都是和Statement类息息相关的,就放到一起,结果再单独处理,里面还有一些差异化的地方,比如不带参数的执行Sql查询就不需要做预处理参数,所以就要用策略模式处理差异化

整体流程就是,SqlSessionFactory创建SqlSession时就会实例化Executor执行器,等到后面SqlSession执行Sql的时候,底层就是拿Executor配合不同处理器执行Sql的
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值