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

相关推荐
lambo mercy4 小时前
AI智能租房助手
数据库
浮生若城5 小时前
MySQL:库与表的操作
数据库·mysql
薛定谔的悦5 小时前
光储充一体机从主控到执行单元的双层架构
数据库·mongodb·架构
数字新视界5 小时前
动环监控信创适配在智能机房管理中的应用价值与未来展望
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
csdn_aspnet6 小时前
Redis 入门:Windows、Mac安装指南
数据库·windows·redis·缓存·mac
山甫aa6 小时前
锁一篇搞定:乐观锁、悲观锁、CAS、数据库锁与分布式锁【从零开始的 Web 后端学习】
java·数据库·分布式·后端·学习·web
Nturmoils18 小时前
集中式与分布式怎么选:从订单读写看 KingbaseES 的架构边界
数据库
xiaomuzuirenzhen18 小时前
大专电子商务从事电商运营分析师需要考证吗?
大数据·数据库
翔云12345620 小时前
RocksDB中,客户端每写入一次数据,需要访问几次磁盘
运维·数据库·mysql
DevOpenClub20 小时前
职教高考控制线 API:招生类别枚举、筛选与空分数含义
java·数据库·高考