执行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的结构,通过这个方式,大家可以理解面向对象的设计到极致是什么样子

相关文章
|
12月前
|
Python
【python脚本】执行过程中触发若干次就停止执行脚本的方式
【python脚本】执行过程中触发若干次就停止执行脚本的方式
|
2月前
|
Rust 安全 程序员
|
5月前
|
Java Spring 容器
面试题:怎样为组件在创建的时候指定执行一个函数,在销毁的时候也先执行一个函数
面试题:怎样为组件在创建的时候指定执行一个函数,在销毁的时候也先执行一个函数
53 0
|
5月前
|
C++
C++中main函数执行完后还执行其他语句吗
C++中main函数执行完后还执行其他语句吗
54 0
|
程序员 Scala 开发者
函数(方法)的调用机制|学习笔记
快速学习函数(方法)的调用机制。
函数(方法)的调用机制|学习笔记
|
物联网 Linux 开发者
线程被取消的时候执行清理函数|学习笔记
快速学习线程被取消的时候执行清理函数
线程被取消的时候执行清理函数|学习笔记
脚本中调用别的脚本,如何得到执行结果?
脚本中调用别的脚本,如何得到执行结果?
74 0
|
SQL 缓存 Java
执行selectList方法|学习笔记
快速学习执行selectList方法
250 0
on方法多次绑定会多次执行的解决方法
on方法多次绑定会多次执行的解决方法
118 0
|
存储 缓存 自然语言处理
一条更新语句是如何执行的?
一条更新语句是如何执行的?
157 0
一条更新语句是如何执行的?