数据库环境配置和使用
4 U- I" ~$ L' j9 x& N" U忽悠社区
5 P1 N' z5 o9 `忽悠社区是综合性社区网站,将最新、最快、最专业的资讯、新闻,图片,视频奉献给所有爱好者。首先从http://www.hsqldb.org/下载一个hsqldb的稳定版本,解压后可以浏览解压目录下的index.html,它描述了各个目录所包含内容,在doc段里有一个重要的链接User Guide: index.html,有空好好研究吧!
! q% `* F7 s/ i, |% B% Q( f, Y# ?
' h' C! E `2 |" R. C忽悠,忽悠社区,忽悠论坛.数据库实例创建 * E: o$ A+ t8 L! N2 O
在hsqldb的管理中,如果启动的数据库文件不存在,就新建该数据库文件。 www.huuoo.com' C' t" n) N. e3 W- ?& j9 Q+ ]5 @
$ ^4 l `2 h1 THsldb启动 $ M$ `1 @ j' D9 ^0 C
Hsqldb的启动模式有三种主要模式,其他参见User Guide:( q5 c* s9 ?$ l+ a
lServer 忽悠社区6 }% O5 O& s# M/ c" n$ M n
该模式就像启动mysql、oracle等数据库一样,数据库启动后作为一个服务存在,其他数据库工具可以通过jdbc的方式访问他,这是我们最熟悉的模式。启动脚本如下:- java -cp hsqldb.jar org.hsqldb.Server -database.0 ./db/test -dbname.0 test
复制代码 后面参数:
$ P: E) k+ f8 Q2 N忽悠,忽悠社区,忽悠论坛.-database.n 数据库文件(其他数据库中对应:数据库实例)地址,支持相对路径,注意使用反斜杠 5 F9 a g6 V( m9 [* ^
-dbname.n 数据库文件的访问同义词,就是用这个名称访问数据库的 忽悠,忽悠社区,忽悠论坛.$ [$ O1 T# F. a! [
server模式jdbc访问方式:- Connection c = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost:9002/test", "sa", "");
复制代码 可以启动多个数据库文件,例如:- java -cp hsqldb.jar org.hsqldb.Server -database.0 ./db/test0 -dbname.0 test0 -database.1 ./db/test1 -dbname.1 test1
复制代码 lIn-Process (Standalone)
0 t/ @- m8 C$ l6 L6 h6 w! H该模式更接近于文件型数据库这个概念,当你访问时他就启动,这种模式访问速度最快,缺点是只能当前访问线程使用,其他数据库工具不能同时访问。例如jdbc访问:- Connection c = DriverManager.getConnection("jdbc:hsqldb:file:/opt/db/testdb", "sa", "");
复制代码 lIn-Memory
6 z) X* o" n- u* X0 E( v8 H) r+ ?顾名思义,内存中的数据库,你所做的数据库ddl、dml不会写入磁盘,也是当你访问时他就启动。例如jdbc访问: - Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:aname", "sa", "");
复制代码 Hsqldb 管理工具
& D+ P8 v1 ~* D- q忽悠社区是综合性社区网站,将最新、最快、最专业的资讯、新闻,图片,视频奉献给所有爱好者。hsqldb.jar中自带了一个数据库管理工具:DatabaseManagerSwing(Swing界面,还有一个是Awt界面的:DatabaseManager),该工具可以通过jdbc访问多种数据库。 7 o9 `/ a5 j- o3 D" C
我们使用server模式启动hsqldb数据库,然后运行下列命令:- java -cp hsqldb.jar org.hsqldb.util.DatabaseManager
复制代码 就可打开主界面
* v p* R; X4 V9 G1 s3 n) x0 Awww.huuoo.com连接时注意选择:Type,应该是HSQL Database Engine Server 忽悠社区1 F% p* h6 j. N) e5 N/ ^; Z
对于第一次使用可以使用它自带的功能,创建一些测试表,挺好的吧忽悠社区+ H: V, D: p8 o( j
忽悠,忽悠社区,忽悠论坛. d5 u) k; g: S- e( _1 n- ~: g. K
Hsldb关闭
2 j2 V+ A, q. `5 b( A忽悠,忽悠社区,忽悠论坛.对于任何一种启动模式,都可以在输入sql脚本的状态输入:SHUTDOWN 或 SHUTDOWN COMPACT 语法来关闭数据库。
, N; R+ n4 Y1 k# E8 A7 owww.huuoo.com对于In-process和In-memory这两种模式只要所有的连接关闭了,数据库也就关闭了。
. @' e- w, n/ ^/ V7 G& k* K
9 M4 O( X* A2 S R; g( w kServer模式参数设置 ' u9 A! n$ o( Y. w' x
在server模式下可以设置一些参数,主要的例如访问端口,可以参见User Guide的第四章高级属性,一般我们可以在启动脚本的目录下编辑一个server.properties,内容如下:- server.port=9002
- server.trace=true
复制代码 Sqltool工具使用 ( M: q) A/ y h% W! w
在目录src\org\hsqldb\sample下有一个sqltool.rc文件,将其拷贝到工具使用命令目录中,修改如下片断: 忽悠社区 \, t7 c) I7 K1 m- s; s9 l6 P5 a
www.huuoo.com% }" o, s) m% z
urlid test
4 M' I Y/ x/ d' z5 u# }$ E. surl jdbc:hsqldb:hsql://localhost:9002/test 2 F! A3 H. d8 K2 b, I! a- ^
username sa
8 `) G: ]0 j% e. i! m忽悠社区是综合性社区网站,将最新、最快、最专业的资讯、新闻,图片,视频奉献给所有爱好者。password
* b& b" a* D% a2 ]8 A) y: P* S7 h+ ?1 M4 M( U. L* o* L2 r. a' l
其中urlid就是启动hsqldb的参数-dbname.0 test
% ^4 ~9 @+ F1 m$ u然后使用如下命令:- java -jar hsqldb.jar --sql "select * from customer" --rcfile sqltool.rc test
复制代码 大家可以通过“java -jar hsqldb.jar |