
Database
silvery_white
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Derby源代码分析 -- SQL层实现(一) -- LanguageConnectionContext
前段时间事情太多,一直没有继续看Derby的源代码。国庆过去了,闲暇的时间多了些了,终于可以接着把这个系列写完了。不过也过了很长时间了,自己前面看的东西都忘的差不多了...... 慢慢找回来吧!前面的文章提到了Derby的JDBC层,不敢说仔细的读,也就是大概的过了一遍,下面的文章主要是讲的SQL层,前面的JDBC实现(二)这篇文章中提到了JDBC层的sql语句执行的代码,其中在执行SQL...2009-10-15 10:36:44 · 345 阅读 · 0 评论 -
Derby源代码分析 -- 服务器启动(一)
一直以来都想研究下数据库的实现原理,Derby在我眼里绝对是一个完美的切入点。首先它是100%纯Java实现,对于我这种Java程序员来说简直完美的,不需要去懂C,C++...等等无疑减少了很大的难度;其次,它是开源的,当然这个就是废话,不然我去哪里弄它的源码去。废话少说,首先简单的介绍下Derby。Derby的启动方式有两种,一种是网络服务器的方式,这种方式就和大家平时用的Oracle,...2009-07-13 13:54:39 · 526 阅读 · 0 评论 -
Derby源代码分析 -- 服务器启动(二)
[size=medium][color=blue][b]2. 嵌入式方式[/b][/color][/size]在开始这部分前,有一些必须的Derby架构的东西需要好好的了解下,可以在Derby的官方网站看一下,地址是http://db.apache.org/derby/papers/derby_arch.html首先,Derby是由monitor和一系列的module组成的,每个m...2009-07-23 23:57:11 · 258 阅读 · 0 评论 -
Derby源代码分析 -- 服务器启动(三)
看过#getImplementations()之后,来看一下#startServices()方法,这个方法就是启动服务了,前面看到的JDBC服务就是在这里启动的(addProperty("derby.service.jdbc", "org.apache.derby.jdbc.InternalDriver");)[code="java"] public void startServices(...2009-07-28 22:41:27 · 179 阅读 · 0 评论 -
Derby源代码分析 -- JDBC实现(一)
谈起JDBC的实现,还是从获取Connection开始吧。下面这句就是一般的获取Connection的代码了, [code="java"]DriverManager.getConnection(url, "username", "password");[/code]当每个Driver初始化的时候,都会在DriverManager中注册下自己,就是调用这个registerDr...2009-08-02 01:28:31 · 336 阅读 · 0 评论 -
Derby源代码分析 -- JDBC实现(二)
前面已经知道了对于JDBC4.0,java.sql.Connection的网络服务器和嵌入式的实现类分别为NetConnection40和EmbedConnection40。下面就以就以嵌入式方式为例来说明下ResultSet的获取过程。一个一般的调用过程应该是如下这样的,[code="java"] Connection conn = DriverManager.get...2009-08-19 09:11:21 · 270 阅读 · 0 评论 -
Derby源代码分析 -- JDBC实现(三)
在开始下面的分析前,先补一下课,插播下Derby的代码结构,Derby主要是分四个部分来组织代码的:JDBC, SQL, Store and Services。JDBC层处于最顶端,是与应用程序进行交互的部分。JDBC的下面是SQL层,SQL层主要是负责编译和执行这两种工作,生成SQL执行计划并返回执行结果。再向下的一层是Store层,主要负责访问数据和存储。最后是Service,...2009-08-31 08:46:30 · 307 阅读 · 0 评论