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

相关推荐
运维行者_3 小时前
企业无线网络监控的挑战与智能化演进趋势
大数据·运维·服务器·网络·数据库
国强_dev4 小时前
技术探讨:使用 stunnel 加密转发数据库连接时,如何获取客户端真实 IP?
数据库·网络协议·tcp/ip
@insist1234 小时前
系统规划与管理师-信息系统规划核心工作要点解析
数据库·软考·系统规划与管理师·软件水平考试·系统规划与管理工程师
超级数据查看器4 小时前
超级数据查看器 v10.0 发布
java·大数据·数据库·sqlite·安卓
数安3000天4 小时前
增量数据如何自动分类分级,避免目录“过期“?
大数据·数据库
南墙上的石头5 小时前
麒麟 V10 重装人大金仓 V8R6 踩坑实录(含 MySQL 兼容模式)
数据库·mysql
画中有画6 小时前
论向量数据库在项目中的应用
数据库
spider_xcxc7 小时前
Redis 数据库高质量实践指南(一)
运维·数据库·redis·oracle·云计算
l1t7 小时前
在linux和windows中解决duckdb 1.6dev版本输出执行计划报错问题
linux·运维·数据库·windows·duckdb
执子手 吹散苍茫茫烟波8 小时前
RC 隔离级别下 MySQL InnoDB 死锁典型案例
数据库·mysql