📅  最后修改于: 2023-12-03 14:41:44.962000             🧑  作者: Mango
HSQLDB(HyperSQL DataBase)是一个开源的关系型数据库管理系统(RDBMS),完全由Java编写,支持SQL和JDBC标准。HSQLDB非常轻量级,可嵌入到Java应用程序中,也可以作为独立服务器运行。
HSQLDB可以通过Maven或者手动下载的方式进行安装。使用Maven安装示例如下:
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.5.1</version>
</dependency>
HSQLDB支持两种运行方式:内存模式和服务器模式。
在内存模式下,数据库会完全保存在内存中,适用于数据量较小的情况。以下是一个简单的内存模式示例:
import java.sql.*;
public class HsqldbMemoryExample {
public static void main(String[] args) {
Connection connection = null;
try {
connection = DriverManager.getConnection("jdbc:hsqldb:mem:testdb", "SA", "");
Statement statement = connection.createStatement();
statement.execute("CREATE TABLE example (id INTEGER, name VARCHAR(50))");
statement.execute("INSERT INTO example VALUES (1, 'John'),(2, 'Jane'),(3, 'Jeff')");
ResultSet resultSet = statement.executeQuery("SELECT * FROM example");
while (resultSet.next()) {
System.out.println(resultSet.getInt("id") + "," + resultSet.getString("name"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
在服务器模式下,需要运行一个独立的HSQLDB服务器进程,客户端通过JDBC连接到该服务器进行操作。以下是一个简单的服务器模式示例:
import java.sql.*;
public class HsqldbServerExample {
public static void main(String[] args) {
Connection connection = null;
try {
Class.forName("org.hsqldb.jdbc.JDBCDriver");
connection = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/testdb", "SA", "");
Statement statement = connection.createStatement();
statement.execute("CREATE TABLE example (id INTEGER, name VARCHAR(50))");
statement.execute("INSERT INTO example VALUES (1, 'John'),(2, 'Jane'),(3, 'Jeff')");
ResultSet resultSet = statement.executeQuery("SELECT * FROM example");
while (resultSet.next()) {
System.out.println(resultSet.getInt("id") + "," + resultSet.getString("name"));
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
HSQLDB是一个轻量级、开源的Java关系型数据库,具有易用、高性能等特点,同时也兼容SQL标准和JDBC接口标准,可以作为嵌入式数据库或者独立服务器运行。