hsqldb运行、源码导入eclipse和Intellij IDEA进行调试
预备知识
hsqldb是一个小型的关系型数据库,代码量小,适合作为java语言的数据库入门研读。
需要环境:
JAVA
推荐安装JAVA8. java的安装资料很多,随便列两个教程,如:
mac安装java
windows安装java
IDE(集成开发环境)
JAVA下较为常用的两种开发环境eclipse和Intellij IDEA,均支持linux、mac和windows系统。推荐eclipse(多线程打断点、调试会方便一点)。
eclipse,我尝试的版本是目前最新的Oxygen(4.7);
Intellij IDEA.
HSQLDB代码
hsqldb官网链接,版本2.4.0.
HSQLDB的命令行启动
hsqldb的启动非常简单,包括服务器启动和客户端启动。hsqldb官方下载包已经打好了jar包,服务器启动可以直接运行:
java -cp lib/hsqldb.jar org.hsqldb.server.Server
而客户端启动也可以简单的运行:
java -cp lib/hsqldb.jar org.hsqldb.util.DatabaseManagerSwing
windows系统的bat文件中其实也是这些命令。
HSQLDB在IDE中的导入和调试
研读代码,在IDE中断点调试很重要,我们介绍导入eclipse和intellij IDEA的方法。
导入eclipse
hsqldb本身不是用maven管理的,而是用gradle和ant,eclipse中需要在导入的时候选new project
-> other
->Java Project From Existing Ant Buildfile
,导入文件选择build/build.xml文件:
注意,ant本身包含的lib文件可能不全,因此,在成功导入eclipse之后会有错误:
通常遇到的错误有以下几种:
1. 找不到junit包,表现为org.hsqldb.test下面大量的错误;
2. org.hsqldb.persist.Crypto类报错;
3. org.hsqldb.util.preprocessor包下面的ant相关类报错;
4. org.hsqldb.server.Servlet报错
我打包了各种可能用到的包:hsqldb-lib
下载这些jar包之后放到hsqldb/lib目录下,然后将这些包加入eclipse的buildpath中:
1. 右键hsqldb项目 - build path - Configure Build Path - Libraries标签 - Add External JARS:
2. 选中hsqldb/lib下面的所有jar包,添加:
3. 点击Apply And Close,完成添加。所有的编译错误消除。
4. 注意,如果出现了其他错误,基本上都是某些jar包找不到,可以在网上直接搜索这些jar包下载。比如javax.xml.bind.util.JAXBResult
找不到,可以搜一下javax.xml.bind.jar
这样的关键词,然后可以在ww.java2s.com找到。
IDEA
idea可以直接open打开这个hsqldb项目,不过开始是不能运行的,需要将src->右键->mark directory as->sources root
,标记了这个之后,相关类的右键中可以有run server了.
同样的,添加各个以上的几个lib的jar包到库中:
之后右键运行即可。
HSQLDB的调试
HSQLDB的客户端和服务器端通过JDBC传输数据,因此需要在两端分别打断点。
以eclipse为例。
启动运行,服务器运行org.hsqldb.server.Server.main
函数即可。然后试着在如下地方打断点:
org.hsqldb.ClientConnection.execute(Result)
调试的方式启动客户端,注意模式选择Engine Server:
输入命令如:
create table branch(
branch_name char(15), branch_city char(30),assets numeric(16,2), primary key(branch_name));
停在客户端的这里:
继续运行,在server的org.hsqldb.Session.execute(Result)
处打断点,停下来:
这里传入的cmd即刚才输入的命令,语句记在mainString字段中:
以上简单地陈列了客户端和服务器端的断点入口。
代码修改和导出
在以上两个断点出,大家已经发现我们添加了两行输出,分别将服务端和客户端接收到的SQL命令打出。这是作为代码修改的一个样例。
项目导出步骤如下:
1. 在hsqldb项目上右键-Export-选择Jar file格式:
2. 指定输出目录,然后finish
:
3. 生成jar包。
重新运行,在命令行会看到做出的修改:
接下来可以开始其他的修改和尝试。
上一篇: 【外文翻译】C++和 Java 语法差异对照表,可以贴在电脑旁
下一篇: 进程管理