HSQLDB是一个纯Java的数据库,小巧方便,在做应用程序的demo时会带来很大的方便。我们可以从http://hsqldb.sourceforge.net/下载hsqldb,里面包括源代码,文档以及demo等等。
hsqldb.jar包
这个包位于/lib目录下包括一些组件和程序,可以用不同的命令来启动这些程序。hsqldb.jar中的组件:
其中,HSQLDB RDBMS和JDBC Driver提供了核心的功能,其它的都是一些通用的数据库工具,只要你有其它的驱动,这些工具可以同其他数据库一起工作。
运行工具
所有的工具都可以以jar方式运行,下面是简单的例子:
Hsqldb工具的主类:
其中,如DatabaseManager和SqlTool都可以有命令行参数,你可以用-?来察看它们有什么参数。DatabaseManager和Transfer都有图形界面可以更好地交互。
运行Hsqldb
HSQLDB可以以不同的方式运行,一般将它们分为Server模式和In-Process模式。每一个HSQLDB数据库包含2到5个文件,它们有同样的名字和不同的后缀名,位于同一个目录中。举例来说,一个叫做test的数据库会包含以下的文件:
properties文件包含数据库的一般配置。script文件包含表的定义,其他数据库对象,以及non-cached表的数据。log文件则包含数据库最近的更新。data文件包含cached表的数据,backup文件则是上次持久化后的data文件的打包文件。这些文件都是有用的不能被删除。如果数据库没有cached表,则.data和.backup文件是不会存在的。
当test数据库被操作的时候,test.log文件被用来纪录数据的修改。这个文件在数据库正常关闭时会被删除掉,否则(非正常关闭)这个文件将会用来在下次启动时重新更新数据。一个test.lck文件用来纪录数据库是打开的。这个文件也会在正常关闭时删除。在某些情况下,test.data.old会被创建接着被删除。
注意:当引擎关闭数据库的时候,它将会创建以.new为后缀的临时文件,再将它们重命名为上述这些文件。
hsqldb.jar包
这个包位于/lib目录下包括一些组件和程序,可以用不同的命令来启动这些程序。hsqldb.jar中的组件:
HSQLDB RDBMS HSQLDB JDBC Driver Database Manager (Swing and AWT versions) Transfer Tool (AWT version) Query Tool (AWT) Sql Tool (command line) |
其中,HSQLDB RDBMS和JDBC Driver提供了核心的功能,其它的都是一些通用的数据库工具,只要你有其它的驱动,这些工具可以同其他数据库一起工作。
运行工具
所有的工具都可以以jar方式运行,下面是简单的例子:
java -cp ../lib/hsqldb.jar org.hsqldb.util.DatabaseManager java -cp hsqldb.jar org.hsqldb.util.DatabaseManager |
Hsqldb工具的主类:
org.hsqldb.util.DatabaseManager org.hsqldb.util.DatabaseManagerSwing org.hsqldb.util.Transfer org.hsqldb.util.QueryTool org.hsqldb.util.SqlTool |
其中,如DatabaseManager和SqlTool都可以有命令行参数,你可以用-?来察看它们有什么参数。DatabaseManager和Transfer都有图形界面可以更好地交互。
运行Hsqldb
HSQLDB可以以不同的方式运行,一般将它们分为Server模式和In-Process模式。每一个HSQLDB数据库包含2到5个文件,它们有同样的名字和不同的后缀名,位于同一个目录中。举例来说,一个叫做test的数据库会包含以下的文件:
test.properties test.script test.log test.data test.backup |
properties文件包含数据库的一般配置。script文件包含表的定义,其他数据库对象,以及non-cached表的数据。log文件则包含数据库最近的更新。data文件包含cached表的数据,backup文件则是上次持久化后的data文件的打包文件。这些文件都是有用的不能被删除。如果数据库没有cached表,则.data和.backup文件是不会存在的。
当test数据库被操作的时候,test.log文件被用来纪录数据的修改。这个文件在数据库正常关闭时会被删除掉,否则(非正常关闭)这个文件将会用来在下次启动时重新更新数据。一个test.lck文件用来纪录数据库是打开的。这个文件也会在正常关闭时删除。在某些情况下,test.data.old会被创建接着被删除。
注意:当引擎关闭数据库的时候,它将会创建以.new为后缀的临时文件,再将它们重命名为上述这些文件。