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包。

重新运行,在命令行会看到做出的修改:

接下来可以开始其他的修改和尝试。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值