HSQLDB是一个开源的纯Java嵌入式关系数据库管理系统,小巧方便,具有标准的SQL语法和Java接口,可以作为内存数据库、独立数据库和C/S数据库,支持索引、事务处理、Java存储过程、完整性引用和约束等功能。

本章介绍Eclipse环境下的HSQLDB数据库应用开发,包括HSQLDB数据库的安装和配置、SqlExplorer数据库插件的安装和配置、常见数据库操作的封装,最后通过学生成绩管理系统介绍了基于HSQLDB进行数据库应用开发的具体步骤。

1  HSQLDB数据库的使用

1.1  下载并安装HSQLDB数据库

在使用HSQLDB数据库之前,本小节首先介绍HSQLDB数据库的下载和安装。与大多数Java应用程序一样,只需解压缩安装包即可完成HSQLDB数据库的安装。

跟我做

(1)登录HSQLDB的官方网站http://www.hsqldb.org,下载HSQLDB数据库的安装包hsqldb_1_8_0_x.zip。

(2)将下载的安装包解压缩到设定的安装目录,如d:\hsqldb。

(3)将D:\hsqldb\lib目录下的hsqldb.jar文件加入到CLASSPATH环境变量中,HSQLDB安装完毕。安装后其目录结构如图1所示。

图1  HSQLDB数据库的目录结构

注意:设置CLASSPATH环境变量,所有的HSQLDB组件如数据库引擎、服务器进程、JDBC驱动程序、文档以及一些实用工具都放在hsqldb.jar文件中。

1.2  使用Memory模式运行HSQLDB

下面介绍HSQLDB的几种运行模式。

● 独立服务器模式:类似于其他关系数据库的标准客户机/服务器数据库配置,允许出现使用TCP 套接字的并发连接。

● 独立Web服务器模式:作为Web服务器通过HTTP接受SQL查询,也能作为任何标准Web容器中的Servlet来运行。由于HTTP是无状态的,所以本模式中不存在事务。

● 单机模式:是许多嵌入式应用程序的首选模式,该模式下应用程序使用JDBC创建一个数据库连接,HSQLDB引擎也运行在该应用程序中。

● Memory模式:所有数据库表和索引都放在内存中,数据不进行外存储,没有持久性。

本小节将以Memory模式为例,介绍如何基于HSQLDB数据库进行应用的开发。

跟我做

(1)启动Eclipse,创建名字为hsqldbdemo的Java工程,并创建Java类MemoryDB.java。

注意:切记将hsqldb.jar加到工程的构建路径上。

(2)编辑MemoryDB.java文件。输入如下代码:

try {

//加载HSQLDB数据库JDBC驱动

Class.forName("org.hsqldb.jdbcDriver");

//在内存中建立临时数据库score,用户名为sa,密码为空

Connection connect = DriverManager.getConnection("jdbc:hsqldb:mem:score", "sa", "");

System.out.println(“在此行上设置一个断点”);

} catch (SQLException e) {

e.printStackTrace();

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

在内存中建立临时数据库“score”,用户名为“sa”,密码为空。上述程序片断是典型的通过JDBC连接数据库的方法,其中数据库URL“jdbc:hsqldb:mem:score”中的“mem”部分定义了HSQLDB数据库工作在Memory模式下。一旦跟数据库的连接建立后,数据库引擎就启动起来了,接下来即可创建Table表。

java hsqldb数据库,HSQLDB数据库的使用相关推荐

  1. Hypersonic SQL开源数据库方向比较流行的纯Java开发的关系型数据库

    Hypersonic SQL Hypersonic SQL开源数据库方向比较流行的纯Java开发的关系型数据库.好像不是JDBC兼容的,JDBC的很多高级的特性都没有支持,不过幸好支持ANSI- 92 ...

  2. java web操作Access数据库

    Microsoft Office Access是由微软发布的关系数据库管理系统.它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Microsoft O ...

  3. H2:一款基于 Java 的嵌入式关系型数据库

    文章目录 H2 简介 下载安装 执行 SQL 语句 查看帮助 运行 SQL 脚本 生成 DDL 语句 断开数据库连接 连接模式 命令行客户端 Maven 依赖 资源文档 总结 大家好,我是只谈技术不剪 ...

  4. java获取达梦数据库_Java连接达梦数据库驱动dm_jdbc

    [实例简介] Java连接达梦数据库驱动dm_jdbc: dm_jdbc\com.dameng.floader.jar dm_jdbc\com.dameng.impexp.jar dm_jdbc\Dm ...

  5. idea中链接mysql查询_在Idea中编写Java程序连接查询Sqlite数据库

    1.使用SqliteSpy建立好数据库文件SqliteSpy运行界面 2.准备好一个空文件夹存放java工程和数据库文件,准备好数据库驱动jar包拷贝到文件夹中sqlite数据库文件和驱动 3.在Id ...

  6. mysql java datetime_Java向mysql数据库插入datetime类型数据实例(精)

    在Mysql数据库中日期跟时间有两种: 1.date类型,date类型也就是我们常见的储存yyyy-MM-dd类型的日期,它不能储存时间,也就是只能储存日期, 2.dateitme就是可以储存日期同时 ...

  7. java代码连接oracle数据库连接_在JAVA中连接Oracle数据库(例子)

    * TODO 要更改此生成的文件的模板,请转至 * 窗口 - 首选项 - java - 代码样式 - 代码模板 */ package person.fane.test; import java.sql ...

  8. java文件流插入数据库_使用Java流查询数据库

    java文件流插入数据库 在本文中,您将学习如何编写纯Java应用程序,这些应用程序能够处理现有数据库中的数据,而无需编写一行SQL(或类似的语言,例如HQL),而无需花费数小时将所有内容放在一起. ...

  9. 获取mysql可行方法_Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法...

    <Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法>要点: 本文介绍了Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法,希望对您有用.如果有 ...

  10. Java 技术篇 - java同时连接多种数据库执行sql语句的兼容性验证,数据库类型包括:oracle、sqlserver、DB2、人大金仓、达梦、PG、瀚高、polardb

    Java 操作多类型数据库下的兼容性验证 第一章:数据库测试 ①[ oracle 数据库不支持分号]ORA-00933: SQL 命令未正确结束 ② [sqlserver 数据库不支持 commit] ...

最新文章

  1. 路过的朋友们,最后一天投票,感谢
  2. thinkPHP学习笔记(2)
  3. jquery总结06-动画事件03-淡入淡出效果
  4. fillcolor是什么意思_fill是什么意思
  5. 工作137:map函数
  6. 基于skitter的轮播图炫酷效果,幻灯片的体验
  7. 技术人的 40 岁,真的不惑了吗?
  8. HTML下的list w3c,W3.CSS Lists (列表)
  9. 同城o2o商城系统开发和运营四大要素
  10. wordpress评论框_如何通过过滤和阻止它们来抵御WordPress垃圾评论
  11. P1164 小A点菜(动态规划背包问题)
  12. 阿里云招聘----技术生态和技术战略专家
  13. howler 音频插件使用
  14. 算法设计与分析(1)——基础知识
  15. uva 10098 Generating Fast
  16. 虚拟化是什么意思?包含哪些技术?与私有云有什么区别?
  17. 职场“巨婴”,毁人不倦
  18. 计算机网络(3)——三种常见的数据交换技术
  19. java init方法
  20. 处理R安装后出现You're using a non-UTF8 locale, therefore only ASCII characters will work.的情况

热门文章

  1. java 生成 pdf 标题 表格 注释 合并
  2. QCC3005芯片 Line IN 听歌的时候声音比较小
  3. 作业成本分析法如何计算?作业成本怎么分析计算
  4. 贝叶斯网络python实现_在Python中使用贝叶斯网络的实例
  5. matlab遗传算法函数实例,三个遗传算法matlab程序实例
  6. 贪吃蛇贪吃蛇代码--c语言版 visual c++6.0打开
  7. python动态心形代码-python心形代码
  8. 计算机中用于表示储存,计算机中用来表示存储器容量的基本单位是
  9. 计算机编程c语言汇总,计算机软件编程中的C语言分析
  10. 信息系统项目管理师 pdf_关于系统集成项目管理工程师和信息系统项目管理师的区别...