执行doQuery方法|学习笔记

简介: 快速学习执行doQuery方法

开发者学堂课程【高校精品课-厦门大学 -JavaEE 平台技术执行doQuery方法学习笔记,与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/80/detail/15952


执行doQuery方法


simple executer 中间的 do query 是怎样来实现,同样的第一件事情他首先要去拿配置信息,我们可以看到它在任何地方它干啥事儿都去拿配置信息,那它的配置信息其实他没有传进来,但他传的这个 map statements,可以看到 map settlement中间其实它是一个双向的关系,所以说从 map settlement中间他可以得到它的配置信息,得到配置信息的主要的目的是他要通过这个配置信息去产生它的查询语句,所以这是他得过来的配置信息,因为他所有的信息都放到配置信息中间,所以

他利用配置信息里头的内容去产生他要查询的东西,这里头其实有很多代码,拿到配置信息以后,调配置信息里头,每次调都会产生一个新的对象,产生一个 new

statement handle 这样一个对象,这样得到一个 handle,真正的处理是由 handle来完成的。

image.png

第三步,他自己写了一个私有的方法,这个私有方法是用来产生这个 statement,就是做预编译,Prepared statement 来做 SQL的预编译,然后把 handle的传进去,因为他利用 handle来做预编译,然后后面是写日志,用 message这个 get statements logo,我们知道在这个配置信息中间,其实有一个配置信息是可以把日志写出来,就是这 个statements logo,就是写Sql的这个日志,因为它真实做的时候就是通过这个 handler,它会掉这个 handler去编译这个 SQL语句,预编译完成以后,然后他再调这个handler去做查询,所以编译好的这个预编译的 statement,加上这个结果的处理方式,现在其实是没有结果的处理方式,然后去做查询,得到

的结果把它返回去,就是我们前面看到的 query的这样的一个方式

所以大家可以看到在整个这个图中间 configuration是他的核心,就是在容器起来的时候会把信息全部读近来,基本上各个部分进去的第一件事情读 configuration,因为所有东西都在 configuration里头,所以按照信息的原则,可以看到很多的职责都会放到 configuration里面去,去获得相应的东西,拿出来东西,再去调他的方法,这是 sample executer的一个执行过程,简单介绍了

mybetis的结构,通过这个方式,大家可以理解面向对象的设计到极致是什么样子

相关文章
|
Python
【python脚本】执行过程中触发若干次就停止执行脚本的方式
【python脚本】执行过程中触发若干次就停止执行脚本的方式
|
5月前
|
Rust 安全 程序员
|
7月前
|
存储 算法 Swift
Swift开发——循环执行方式
Swift语言中的循环主要包括`for-in`和`while`结构。`for-in`适用于遍历数字区间、字符串和字典,支持使用`stride`函数定制步进。字典遍历时,可以用二元元组`(k, v)`访问键值对。`while`循环有标准形式和`repeat-while`形式,确保至少执行一次循环体。程序示例展示了`for-in`和不同`while`结构的用法,包括计算阶乘、奇数和、加密字符串以及最大公约数和最小公倍数。
51 0
Swift开发——循环执行方式
|
7月前
|
安全 程序员 PHP
程序员必知:命令执行学习
程序员必知:命令执行学习
28 0
|
8月前
|
Java Spring 容器
面试题:怎样为组件在创建的时候指定执行一个函数,在销毁的时候也先执行一个函数
面试题:怎样为组件在创建的时候指定执行一个函数,在销毁的时候也先执行一个函数
64 0
|
开发工具
游戏开发实战教程(5):重复执行和逻辑循环的区别
将循环分为重复执行和逻辑循环,应该是微信小游戏开发工具中所特有的。因为之前做游戏,无论是使用哪种工具或者哪种编程语言,对于循环来说,都只有一种,不会存在歧义或者误用。但是这里将循环分为了两种,如果误用的话会导致出现一些奇怪的问题。所以需要单独拿出来区分一下,避免掉进这个“坑”。
171 0
脚本中调用别的脚本,如何得到执行结果?
脚本中调用别的脚本,如何得到执行结果?
82 0
|
Java Android开发
JobService源码探究之 onStartJob()里执行耗时逻辑导致Job可能被强制销毁
JobService源码探究之 onStartJob()里执行耗时逻辑导致Job可能被强制销毁
|
SQL 缓存 Java
执行selectList方法|学习笔记
快速学习执行selectList方法
262 0
|
Shell Linux
shell编程01【执行方式】
经常需要在Linux上操作,对应shell脚本来说应该还是要掌握的,所以最近打算将shell入门的相关的知识整理一下,以供大家查阅。
shell编程01【执行方式】