java1.7开始hsqldb,HSQLDB的⼀些基本使⽤学步园1.HSQLDB数据库包含2-5个⽂件.例如,名为"test"的数据库会由下⾯的⽂件组成
test.properties 常规设置(general settings)
test.script 数据库表和其它数据库对象的定义,以及⾮缓存数据库表(non-cached tables)的数据
test.log 对数据库最近的修改
test.data 缓存数据库表(cached tables)的数据
test.backup 最近已知的⼀致状态(last known consistent state)的数据⽂件的压缩备份
test.lck 锁⽂件,记录数据库被打开的实情(fact)
当数据库没有缓存数据库表(cached tables)时,test.data和test.backup将不会被创建(will not be present).
2.数据库表类型
临时数据库表 和SQL标准中的GLOBAL TEMPORARY类型⼀致
持久数据库表 任何对数据库结构或数据内容的改变都会被写到.script⽂件中
1> MEMORY tables(默认类型) 加载全部数据到内存中
2> CACHED tables 加载部分数据到内存中
3> TEXT tables ⽀持格式化的⽂本⽂件
3.创建数据库表语法,默认为MEMORY类型:
CREATE [MEMORY|CACHED|TEXT] TABLE
可以直接在script中加⼊SQL标准语法,这样当数据库启动的时候,HSQLDB会⾃动读⼊script中的数据到内存中.
4.HSQLDB数据库有三种运⾏模式,分别是Server模式和In-Process(Standalone)模式和Memory-Only模式.
5.根据客户端和服务器通信的协议不同,Server模式可以分为以下三种:
HSQLDB Server,使⽤HSQLDB私有的通信协议,启动命令是:
java -cp hsqldb.jar org.hsqldb.Server -database.0 file:simulateurDB -dbname.0 simulateur
HSQLDB Web Server,使⽤http协议,启动命令是
java -cp hsqldb.jar org.hsqldb.WebServer -database.0 file:simulateurDB -dbname.0 simulateur
HSQLDB Servlet,使⽤http协议.当Tomcat等servlet引擎提供数据库的访问时,可以使⽤这种模式.
但它不能脱离Servlet引擎独⽴运⾏,并且只能提供⼀个数据库
<
{
Class.forName("org.hsqldb.jdbcDriver"
);
} catch
(Exception e) {
自学java从哪里开始System.out.println("ERROR: failed to load HSQLDB JDBC driver."
)
;
e.printStackTrace();
return
;
}
Connection c = Connection("jdbc:hsqldb:hsql://localhost
/
simulateur"
,
"sa"
,
""
);
7.在Ant中启动的HSQLDB写法:
8.启动HSQLDB的界⾯效果:
9.In-Process模式是将数据库引擎与应⽤程序运⾏在同⼀个JVM中,主要的缺点是不能从你的应⽤程序外部连接数据库了.在1.8.0版本中,你可以从同⼀个JVM的⼀个线程⾥⾯来运⾏⼀个服务器实例,从⽽可以提供外部连接来访问你的In-Process数据库.In-Process模式的数据库是从JDBC语句启动的,把⽂件的路径作为URL的⼀部分.例如:
⽂件⽅式是Connection c = Connection("jdbc:hsqldb:file:testdb", "sa", "");
内存⽅式是Connection c = Connection("jdbc:hsqldb:mem:aname", "sa", "");
其中当以内存⽅式(Memory-only)运⾏时,通过在server.properties指定相同的url,可以在clients之间交换信息.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论