数据库---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的使用教程就完了。

相关推荐
IvorySQL1 小时前
PostgreSQL 日报| PG19 主备切换挂起修复(10 月 17 日)
数据库·postgresql
roman_日积跬步-终至千里1 小时前
【数据Agent论文·查询与语义|11】EntSQL:给了业务文档,模型为何还是写不对SQL?
数据库·人工智能·sql·数据分析
2601_962885721 小时前
如何用 Python 算最大回撤和回撤恢复期?
java·数据库·python
zcn1262 小时前
Left join+or exists+like关联优化
数据库·sql优化改写
我科绝伦(Huanhuan Zhou)2 小时前
Oracle 表空间碎片整理实战:shrink space 与 move table 全解析
数据库·oracle
Yyyyyy~2 小时前
【Mysql】表的操作
数据库·mysql
TDengine (老段)2 小时前
工业数据十大痛点系列 · 第 6 篇
数据库·时序数据库·tdengine·涛思数据·idmp·工业数据分析·ai 分析数据
ly76893 小时前
PostgreSQL 流复制与高可用切换:主从延迟、同步提交与 Spring Boot 读写分离的边界
数据库·spring boot·postgresql·读写分离·流复制·高可用切换
l1t3 小时前
修改两处,让SQLite求解数独SQL在datafusion上运行
服务器·数据库·sql
data analyse 4563 小时前
服务端统计时区切换的日期归并
大数据·前端·数据库·人工智能·数据分析