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

作者 : admin 本文共471个字,预计阅读时间需要2分钟 发布时间: 2024-06-10 共2人阅读

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

仓库地址:http://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的
六、【源码】SQL执行器的定义和实现插图
六、【源码】SQL执行器的定义和实现插图(1)

本站无任何商业行为
个人在线分享 » 六、【源码】SQL执行器的定义和实现
E-->