HSQLDB内存数据库

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

本章介绍Eclipse环境下的HSQLDB数据库应用开发,包括HSQLDB数据库的安装和配置、SqlExplorer数据库插件的安装和配置、常见数据库操作的封装,最后通过学生成绩管理系统介绍了基于HSQLDB进行数据库应用开发的具体步骤。 
5.1  HSQLDB数据库的使用 
5.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安装完毕。安装后其目录结构如图5-1所示。 

%注意:设置CLASSPATH环境变量的方法参见1.1节,所有的HSQLDB组件如数据库引擎、服务器进程、JDBC驱动程序、文档以及一些实用工具都放在hsqldb.jar文件中。 
5.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();
 }

 

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Test {
 public static void main(String[] args) {
  try {// 加载HSQLDB数据库JDBC驱动Class.forName("org.hsqldb.jdbcDriver");
   // 在内存中建立临时数据库score,用户名为sa,密码为空
   Connection conn = DriverManager.getConnection(
     "jdbc:hsqldb:mem:score", "sa", "");
   Statement stat = conn.createStatement();
   stat.execute("create table user(id int not null primary key)");
   stat.execute("insert into user(id) values(1)");
   ResultSet rs = stat.executeQuery("select *from user");
   while (rs.next()) {
    System.out.println(rs.getInt(1));
   }
  } catch (Exception e) {
   System.out.println(e.getMessage());
  }
 }
}
结果为:1 

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

你可能感兴趣的:(HSQLDB)