数据库---HSQLDB使用教程详解

本学校期末的课程设计要求使用HSQLDB数据库,作为一个小众且轻量的数据库,很少人接触过,再加上同学们都问这个方面,所以就出教程,展示怎么使用HSQLDB。

第一步:启动HSQLDB

下载HSQLDB的jar包,因为HSQLDB非常的轻量级,不用像MYSQL一样安装非常麻烦,它只需要一个jar包。

可以通过这个链接来下载:

链接: https://pan.baidu.com/s/10KV3Ssl6quQfLoWlcj4oFQpwd=mx8b 提取码: mx8b

下载完成后,就可以通过下面得命令启动了

复制代码
java -cp hsqldb.jar org.hsqldb.server.Server -database.0 mydb -dbname.0 db

怎么启动?

1、在此目录栏中直接输入 cmd,回车,打开命令行

在打开的命令行中输入刚才的命令:

然后就可以启动HSQLDB:

这就是启动后的样子,这个命令行不能关闭,一关闭数据库也就关闭了。

注意:不要直接在资源管理器中右键打开命令行窗口

不要这样打开,不要这样打开,不要这样打开!!!就按照我说的做就行

至此,HSQLDB数据库已经启动了,但是我们需要一个可视化的界面来操作HSQLDB

第二步:在IDEA中连接HSQLDB

这里我直接在IDEA中链接数据库,也可以使用第三方的数据库可视化工具,如DataGrip等。如果要使用IDEA连接数据库,IDEA必须是专业版!!!

按照这样操作,就可以进到这个界面:

这里面按照下面这个来填就不会有问题

路径:/
用户:SA
密码不用填,为空就行
数据库:localhost
URL:jdbc:hsqldb:hsql://localhost/db

填写完成之后点击这里进行数据库连接测试,如果是第一次用IDEA连接,会先让你下载一个东西,直接点击下载就行,下载完点击测试连接。

如果出现连接成功,就代表你连接成功了(废话)。

至此,已经在IDEA中连接好了HSQLDB,可以通过IDEA来操作数据库了

第三步:操作HSQLDB

这是我的数据库界面,如果第一次连接,PUBLIC中应该是空的,可以右键PUBLIC,

会出现这个,点击查询控制台

然后就可以在控制台中写SQL语句啦~~

强烈建议建表时表名、字段名统统大写,会减少不必要的麻烦!!!

第四步:通过JDBC使用HSQLDB

在使用JDBC之前,还需要在项目中导入HSQLDB的jar包,如果使用Maven就需要导入相关的依赖,此处基于javaweb项目,演示导入jar包的过程:

1.在文件目录下新建一个lib目录

2.把刚才下载的jar包复制一份放到lib目录下,然后对着这个jar包右键,在最后有一个添加为库,点击确定

此时在项目中导入了jar包,如果这时候直接运行,应该会发生ClassNotFoundException异常,这个问题很常见。

解决方案:将HSQLDB的jar包也放到Tomcat的lib目录下就可以了

然后就可以通过JDBC使用HSQLDB了,话不多说,直接按照代码写就行

复制代码
public class DBUtil {

    private static final String DB_DRIVER = "org.hsqldb.jdbc.JDBCDriver";
    private static final String DB_URL = "jdbc:hsqldb:hsql://localhost/db";
    private static final String DB_USER = "sa";
    private static final String DB_PASSWORD = "";

    static {
        try {
            Class.forName(DB_DRIVER);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
    }
}

建议按照我这样写,如果要用的话直接通过这个类来获得数据库连接对象

复制代码
Connection connection = DBUtil.getConnection();

至此,HSQL的使用教程就完了。

相关推荐
jiayou642 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤2 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区4 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1774 天前
《从零搭建NestJS项目》
数据库·typescript
加号34 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏4 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐4 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再4 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
tryCbest4 天前
数据库SQL学习
数据库·sql
jnrjian4 天前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义
数据库·oracle