没有合适的资源?快使用搜索试试~ 我知道了~
hsql数据库详细教程.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 3 浏览量
2022-07-14
09:30:18
上传
评论
收藏 39KB PDF 举报
温馨提示
试读
22页
hsql数据库详细教程.pdf
资源推荐
资源详情
资源评论
Hsql 数据库介绍与简单应用
——————————————————
前言:该文章只是简单介绍一下 hsql 的入门内容,如果想仔细了解的话,参考官方
帮助文档最为有用。
一、简介:
hsql 数据库是一款纯 Java 编写的免费数据库,许可是 BSD-style 的协议,如果你
是使用 Java 编程的话, 不凡考虑一下使用它, 相对其他数据库来说, 其体积小, 才
563kb 。仅一个 hsqldb.jar 文件就包括了数据库引擎,数据库驱动, 还有其他用户
界面操作等内容。在 Java 开源世界里, hsql 是极为受欢迎的(就 Java 本身来说),
JBoss 应用程序服务器默认也提供了这个数据库引 擎。由于其体积小的原因, 又是
纯 Java 设计,又支持 SQL99 ,SQL2003 大部分的标准,所以也是作为商业应用程
序展示的一种选择。请到以下地址下载 hsql :http://hsqldb.sourceforge.net/
二、使用 hsql 数据库:
1、hsql 数据库引擎有几种服务器模式: 常用的 Server 模式、WebServer 模式、Servlet
模式、 Standlone 模式、 Memory-Only 数据库。
2、最为常用的 Server 模式:
1)首先却换到 lib 文件夹下, 运行 java -cp hsqldb.jar org.hsqldb.Server -database.0
db/mydb -dbname.0 xdb
执行命令后,将会在 db 文件夹下创建一个数据库 mydb ,别名(用于访问数据库)
是 xdb ,如果存在 mydb 数据库,将会打开它。
2)运行数据库界面操作工具: java -cp hsqldb.jar org.hsqldb.util.DatabaseManager
在 Type 选项里选上相应的服务器模式,这里选择 HSQL Database Engine Server
模式; Driver 不用修改; URL 修改为 jdbc:hsqldb:hsql://localhost/xdb (主要这里
xdb 就是上面我们设置的别名) ;user 里设置用户名,第一次登录时,设置的是管理
员的用户名, password 设置密码。然后点击 Ok。
3)第一次运行数据库引擎,创建数据库完毕。好了,你可以打开 db 文件夹,会发现
里面多了几个文件。
mydb.properties 文件:是关于数据库的属性文件。
mydb.script :hsql 主要保存的表(这里按 hsql 的说法是 Memory 表,就是最为常
用的),里面的格式都是文本格式,可以用文本查看,里面的语句都是 sql 语句,熟
悉 sql 语句的话,你也可以手动修改它。每次运行数据库引擎的话都是从这里加载
进内存的。
mydb.lck 表示数据库处于打开状态。
其他的请参看 hsqldb 包里的手册。
3、WebServer 模式和 Server 运行模式基本一样, 只是支持了 Http 等协议, 主要用
于 防 火 墙 , 默 认 端 口 是 9001 。 启 动 Server , java -cp hsqldb.jar
org.hsqldb.WebServer ... 剩余的和上面的一致。
4 、 Servlet 模 式 可 以 允 许 你 通 过 Servlet 容 器 来 访 问 数 据 库 , 请 查 看
hsqlServlet.java 的源代码,和 WebServer类似。
5、另一个值得思考的模式是
Standalone 模式:不能通过网络来访问数据库, 主要
是在一个 JVM 中使用, 那样的话, 访问的速度会更加快。 虽然文档里面提到主要是
用于开发时使用,但是我们可以假设一下,该方法不需要一个引擎类的东西,而类
似于打开文件的方式,返回一个 Connection 对象:
Connection c = DriverManager.getConnection("jdbc:hsqldb:file:mydb", "sa", "");
将 会在当前目录找到 mydb 数据库相关文件,打开并返回一个 Connection 对象。
该方式有点好处就是可以不使用引擎, 在需要的时候操作数据。 所以那些 对数据库
不是特别有要求的,但又需要一个操作数据库的方式的话,可以使用这种方法。对
于那些不想额外在数据库引擎花费金钱的话, 可以使用这种方法。 但是不 推荐使用
该方法。记得 Hibernate 里 SessionFactory 可以使用 openSession(Connecttion c)
来获得一个 Session 对象的,因此,在测试或者实际应用的话都可以这样使用。
6、Memory-Only 数据库:顾名思义,主要是内存中使用,不用于保存数据。可以
用于在内存中交换数据。
三、具体的链接与操作的话, 和一般的 JDBC 操作一样。而相应的 Server 模式的话,
连接地址主要你运行数据库界面操作工具时, 在 URL 一栏时默认已经设好了, 自己
实习一下,对比其中参数。
数据库相关 :HSQL 学习笔记
发布时间: 2006.07.24 01:31 来源: javajia 作者:
1. hsql 学习
1.1. 学习目的
本文档是针对 hSQL 数据库方面的基础学习, 为了使项目组成员能够达到使用 hSQL
数据库的目的。
1.2. 培训对象
开发人员
1.3. 常用词及符号说明
常用词:
hsql:一种免费的跨平台的数据库系统
E:\hsqldb:表示是在 dos 命令窗口下面
1.4. 参考信息
doc\guide\guide.pdf
2. HSQL
2.1. HSQL 运行工具
java -cp ../lib/hsqldb.jar org.hsqldb.util.DatabaseManager
注意 hsqldb.jar 文件的文件路径 ,最好能放到 classpath 里面 ,或者放到当前路径下 .
java -cp hsqldb.jar org.hsqldb.util.DatabaseManager
2.2. 运行数据库
启动方式 : Server Modes and
In-Process Mode (also called Standalone Mode).
一个 test 数据库会包含如下文件 :
? test.properties
? test.script
? test.log
? test.data
? test.backup
test.properties 文件包含关于数据库的一般设置 .
test.script 文件包含表和其它数据库 ,插入没有缓存表的数据 .
test.log 文件包含当前数据库的变更 .
test.data 文件包含缓存表的数据
test.backup 文件是最近持久化状态的表的数据文件的压缩备份文件
所有以上这个文件都是必要的 ,不能被删除 .如果数据库没有缓存表 ,test.data 和
test.backup 文件将不会存在 .另外 ,除了以上文件 HSQLDB 数据库可以链接到任何文
本文件 ,比如 cvs 文件 .
当操作 test 数据库的时候 , test.log 用于保存数据的变更 . 当正常 SHUTDOWN, 这个
文件将被删除 . 否则(不是正常 shutdown),这个文件将用于再次启动的时候 ,重做这些
变更 .test.lck 文件也用于记录打开的数据库的事实 , 正常 SHUTDOWN, 文件也被删
除.在一些情况下 ,test.data.old 文件会被创建 ,并删除以前的 .
2.3. Server Mode
java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 file:mydb -dbname.0 xdb
命令行方式 :
启动数据 ,数据库文件 mydb,数据库名称 xdb
也可以在 server.properties 文件中定义启动的数据库 ,最多 10 个
例如 : server.properties:
server.database.0=file:E:/hsqldb/data/mydb
server.dbname.0=xdb
server.database.1=file:E:/hsqldb/data/testdb
server.dbname.1=testdb
server.database.2=mem:adatabase
server.dbname.2=quickdb
启动命令 : java -cp ../lib/hsqldb.jar org.hsqldb.Server
运行结果如下
java 测试程序 :
package test;
import junit.framework.TestCase;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestConnect extends TestCase {
Connection connection;
protected void setUp()
{
try {
Class.forName("org.hsqldb.jdbcDriver" );
connection = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/xdb","sa","");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void testselect()
{
Statement stmt=null;
ResultSet rs=null;
try {
stmt = connection.createStatement();
String sql ="select * from test";
rs=stmt.executeQuery( sql);
while(rs.next() )
{
System.out.println("id="+rs.getString("id"));
System.out.println("name="+rs.getString("name"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
try {
rs.close() ;
stmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
剩余21页未读,继续阅读
资源评论
ll17770603473
- 粉丝: 0
- 资源: 6万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功