什么是 HSQLDB?
大家好,这里是架构资源栈!点击上方关注,添加“星标”,一起学习大厂前沿架构!
Java开发人员学习Java数据库连接(JDBC)的最简单方法是试验HyperSQL数据库(又名HSQLDB)。
HSQLDB是一个简单、轻量级的数据库,无需安装或复杂的配置。
如果您有 Eclipse 或 IntelliJ 等 IDE,并且愿意使用 Maven 或 Gradle 等 Java 构建工具,那么您可以在几分钟内启动并运行您的第一个 JDBC 和 HSQLDB 应用程序。
HSQLDB JDBC教程先决条件
在本教程中,我们将使用 Eclipse 和 Maven,但其他构建工具和 IDE 的流程相同。
本 JDBC 与 HSQLDB 教程中执行的步骤如下:
- 在 Eclipse 中创建一个新的 Maven 项目。
- _使用DatabaseManagerSwing_应用程序创建HSQLDB数据库。
- 创建一个名为 Player 的数据库表。
- 创建一个具有推送通用异常的main方法的Java类。
- 为所需的JDBC SQL类添加导入。
- 编写好的数据库连接代码。
insert
以Smashing方式向HyperSQL数据库发布查询。- 验证JDBC插入是否成功。
HSQLDB 的 Maven 依赖项
首先,在 Eclipse 中创建一个新的 Maven 项目,将 HSQLDB 依赖项添加到项目对象模型 (POM) 文件,然后更新该项目。
<依赖项><groupId>org.hsqldb</groupId><artifactId>hsqldb</artifactId><版本>2.5.1</版本>
</依赖>
这就是安装和配置 HSQLDB 的全部步骤。但是过程简单又简单了!
如何在HSQLDB中创建数据库?
添加 HSQLDB POM 依赖项后,右键单击 Eclipse 项目并选择“_以…运行身份”_并搜索位于_org.hsqldb.util包中的__DatabaseManagerSwing_类。
在出现的连接窗口中,输入以下设置:
- 设置名称:JDBC HSQLDB 教程数据库
- 类型:HSQL 数据库引擎独立版
- 驱动程序:org.hsqldb.jdbc.JDBCDriver
- 网址:jdbc:hsqldb:file:target/myDB
- 用户:SA
- 密码:密码
使用内置的 HSQLDB 配置工具为您的应用程序创建 JDBC 数据库。
如何创建 HSQLDB 表?
创建数据库后,下一步是使用_DatabaseManagerSwing_应用程序中的_COMMAND –> CREATE TABLE_选项快速创建名为 PLAYER 的数据库表。
为此,将以下命令粘贴到查询窗口并选择 ExecuteQuery:
创建内存表 PLAYER (ID BIGINT IDENTITY NOT NULL PRIMARY KEY, 登录名 VARCHAR(255), 密码 VARCHAR(255))
然后右键单击左侧窗格中的_PUBLIC.PLAYER文件夹,选择__SELECT * FROM “PUBLIC”.”PLAYER”_,然后点击_执行 SQL_按钮。
您将看到一个包含三列的空表:ID、LOGINNAME 和 PASSWORD。
HSQL 数据库管理器可以轻松创建用于 JDBC 连接的表。
Java、JDBC 和 HSQLDB 的工作原理
完成 HSQLDB JDBC 设置和配置后,就可以编写一个 Java 类了:
- 进口
java.sql.*
- 有一个抛出通用异常的 main 方法
- 使用 JDBC 连接到 HSQLDB 并添加一条记录
Java类的基本结构如下所示:
包 com.mcnz.jdbc.hsql;
导入 java.sql.*;
公共类 JdbcExample {公共静态 void main(String[] args)抛出异常{// JDBC HSQL 教程代码在此处}
}
如何创建 HSQLDB JDBC 连接?
要连接到数据库,必须向 JDBC DriverManager 提供数据库名称以及具有访问权限的用户凭据。在 main 方法的开头将此信息声明为 String 属性,然后将其提供给getConnection()
的方法DriverManager
。
字符串 db = “jdbc:hsqldb:file:target/myDB”;
字符串用户=“SA”;
字符串密码 = “密码”;
连接 connection = DriverManager.getConnection(db, 用户, 密码);
执行 SQL 插入查询
创建 HSQL JDBC 连接后,您可以获取 JDBC 语句对象,从而可以对数据库发出 SQL 命令。
以下代码行使用 JDBC 向 HSQLDB 数据库的 Player 表添加新记录:
String insertQuery = "插入玩家值(1,'McKenzie','密码')";
语句 stmt = conn.createStatement();
stmt.执行(插入查询);
保存更改,如果_DatabaseManagerSwing_应用仍在运行,请将其关闭,然后运行代码。这将在数据库的 Player 表中添加一条新记录。
验证 SQL 插入
为了验证 JDBC 插入 HSQLDB 是否成功,请再次运行_DatabaseManagerSwing_类并查询播放器表。您将看到 JDBC 代码已向数据库添加了一条新记录成功,这说明您的 HSQLDB JDBC 示例已运行。
JDBC 示例成功将记录插入 HSQL 数据库。
关闭可关闭的 JDBC 资源
JDBC _Statement_和_Connection_对象都实现了_Closeable_接口,这意味着close()
当它们不再使用时我们应该调用它们的方法。
如果对象是在_try-with-resources_块中初始化的,星巴克会自动执行此操作。但是,在这种情况下,我们必须close()
手动调用该方法。
经过这些最后的润色后,完整的 JDBC HSQL 示例如下所示:
包 com.mcnz.hsql.example;
导入 java.sql.*;
公共类 JdbcExample {公共静态 void main(String[] args)抛出异常{字符串 db = “jdbc:hsqldb:file:target/myDB”;字符串用户=“SA”;字符串密码 = “密码”;连接 conn = DriverManager.getConnection(db, 用户, 密码);String insertQuery = "插入玩家值(1,'McKenzie','密码')";语句 stmt = conn.createStatement();stmt.访问(插入查询);stmt.关闭();conn.关闭();}
}
这就是在 Java 程序中使用 JDBC 连接到 HSQLDB 的简单方法。
原文地址:https://mp.weixin.qq.com/s/Yq2vkraNlhZXXZedFBIYUw
相关文章:

什么是 HSQLDB?
大家好,这里是架构资源栈!点击上方关注,添加“星标”,一起学习大厂前沿架构! Java开发人员学习Java数据库连接(JDBC)的最简单方法是试验HyperSQL数据库(又名HSQLDB)。 …...
AI时代企业应用系统架构的新思路与CIO变革指南
作为制造企业CIO,我们看问题需要有前瞻性,AI时代企业应用系统架构需要进行全面转型。 一、新思想与新技术 1. 核心新思想 可视化开发AI的融合模式:不再只依赖纯代码开发或传统低代码,而是两者结合,通过AI理解自然语…...

多语言爬虫实现网站价格监控
最近突发奇想想用多种代码来爬取数据做价格监控。常见的比如Python、JavaScript(Node.js)、或者Go?不过通常来说,Python应该是首选,因为它的库比较丰富,比如requests和BeautifulSoup,或者Scrapy。不过客户要求多种代码…...
如何修改 JAR 包中的源码
如何修改 JAR 包中的源码 前言一、准备工作二、将 JAR 当作 ZIP 打开并提取三、重写 Java 类方法 A:直接替换已编译的 .class方法 B:运行时类路径优先加载 四、修改 MyBatis(或其他)XML 资源五、重新打包 JAR(命令行&a…...

16.Three.js 中的 RectAreaLight 全面详解 + Vue 3 实战案例
😎 本文将带你从零了解 THREE.RectAreaLight 的工作原理、使用方式、注意事项,并在最后用 Vue 3 的 Composition API 封装一个完整的光源演示组件,一站式搞懂矩形区域光的魅力 💡! 🖼️ 一、展示图效果示意…...

excel 批量导出图片并指定命名
一、开发环境 打开excel文件中的宏编辑器和JS代码调试 工具-》开发工具-》WPS宏编辑器 左边是工程区,当打开多个excel时会有多个,要注意不要把代码写到其他工作簿去了 右边是代码区 二、编写代码 宏是js语言,因此变量或者方法可以网上搜…...
PyTorch_创建01张量
torch.ones 和 torch.ones_like 创建全1张量torch.zeros 和 torch.zeros_like 创建全0张量torch.full 和 torch.full_like 创建全为指定值张量 上面的函数里有 like 表示根据另外一个张量的形状创建全0或者全1的或者全为指定值的张量。 代码 import torch …...
神经网络之互动练习详解:从基础到拟合非线性数据
神经网络之互动练习详解:从基础到拟合非线性数据 在机器学习的世界里,神经网络是一种强大而神奇的工具,它可以帮助我们解决各种复杂的问题。今天,我们就通过一个有趣的互动练习,来深入了解神经网络的工作原理以及如何…...

Mem0.ai研究团队开发的全新记忆架构系统“Mem0”正式发布
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
海外社交软件技术深潜:实时互动系统与边缘计算的极限优化
一、毫秒级延迟之战:下一代实时通信架构 1.1 全球实时消息投递体系设计 图表 代码 性能基准测试(跨大西洋传输): 协议/算法组合 平均延迟 99分位延迟 丢包恢复率 WebSocketTLSBBRv2 142ms 298ms 78% QUIC自定义CC 112ms 201ms 92%…...

通过DeepSeek大语言模型控制panda机械臂,听懂人话,拟人性回答。智能机械臂助手又进一步啦
文章目录 前言环境配置运行测试报错 前言 通过使用智能化的工作流控制系统来精确操控机械臂,不仅能够基于预设算法可靠地规划每个动作步骤的执行顺序和力度,确保作业流程的标准化和可重复性,还能通过模块化的程序设计思路灵活地在原有工作流中…...

如何添加或删除极狐GitLab 项目成员?
极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有: 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 项目成员 (BASIC ALL) 成员是有权访问您的项目的用户和群组。 每个成员都有一个角色,这决定了他们在项目中可以…...

计算机网络-LDP标签发布与管理
前面学习了LDP建立邻居,建立会话,今天来学习在MPLS中的标签发布与管理。 在MPLS网络中,下游LSR决定标签和FEC的绑定关系,并将这种绑定关系发布给上游LSR。LDP通过发送标签请求和标签映射消息,在LDP对等体之间通告FEC和…...

云境天合水陆安全漏电监测仪—迅速确定是否存在漏电现象
云境天合水陆安全漏电监测仪是一种专为水下及潮湿环境设计的电气安全检测设备,通过高灵敏度电磁传感器探测漏电电流产生的交变磁场,基于法拉第电磁感应定律,自动区分高灵敏度信号和低灵敏度信号,精准定位泄漏电源的具体位置。一旦…...

软考 系统架构设计师系列知识点之杂项集萃(54)
接前一篇文章:软考 系统架构设计师系列知识点之杂项集萃(53) 第87题 某银行系统采用Factory Method方法描述其不同账户之间的关系,设计出的类图如下所示。其中与Factory Method的“Creator”角色对应的类是(ÿ…...

Nginx +Nginx-http-flv-module 推流拉流
这两天为了利用云服务器实现 Nginx 进行OBS Rtmp推流,Flv拉流时发生了诸多情况,记录实现过程。 环境 OS:阿里云CentOS 7.9 64位Nginx:nginx-1.28.0Nginx-http-flv-module:nginx-http-flv-module-1.2.12 安装Nginx编…...

KeyPresser 一款自动化按键工具
1. 简介 KeyPresser 是一款自动化按键工具,它可以与窗口交互,并支持后台运行, 无需保持被控窗口在前台运行。用户可以选择要操作的目标窗口,并通过勾选复选框来控制要发送哪些按键消息。可以从组合框中选择所需的按键,并在编辑框中输入时间间隔以控制按键发送之间的延迟。程…...

DVWA靶场保姆级通关教程--03CSRF跨站请求伪造
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 文章目录 前言 一、low级别的源码分析 二、medium级别源码分析 安全性分析 增加了一层 Referer 验证: 关键点是:在真实的网络环境中&a…...
从 Python 基础到 Django 实战 —— 数据类型驱动的 Web 开发之旅
主题简介: 本主题以 Python 基础数据类型为核心,结合 Django 框架的开发流程,系统讲解如何通过掌握数字、字符串、列表、元组、字典等基础类型,快速构建功能完善的 Web 应用。通过理论与实践结合,帮助学员从零基础 Py…...

架构思维:构建高并发读服务_基于流量回放实现读服务的自动化测试回归方案
文章目录 引言一、升级读服务架构,为什么需要自动化测试?二、自动化回归测试系统:整体架构概览三、日志收集1. 拦截方式2. 存储与优化策略3. 架构进化 四、数据回放技术实现关键能力 五、差异对比对比方式灵活配置 六、三种回放模式详解1. 离…...

Qt实现车载多媒体项目,包含天气、音乐、视频、地图、五子棋功能模块,免费下载源文件!
本文主要介绍项目,项目的结构,项目如何配置,项目如何打包。这篇文章如果对你有帮助请点赞和收藏,谢谢!源代码仅供学习使用,如果转载文章请标明出处!(免费下载源代码)&…...
Ubuntu 安装 Nginx
Nginx 是一个高性能的 Web 服务器和反向代理服务器,同时也可以用作负载均衡器和 HTTP 缓存。 Nginx 的主要用途 用途说明Web服务器提供网页服务,处理用户的 HTTP 请求,返回 HTML、CSS、JS、图片等静态资源。反向代理服务器将用户请求转发到…...
Android数据库全栈开发实战:Room+SQLCipher+Hilt企业级应用构建
简介 在移动应用开发中,数据库作为数据存储的核心组件,其安全性和性能对企业级应用至关重要。本文将从零开始,全面讲解Android数据库开发的最新技术,包括Room框架的深度使用、SQLCipher加密数据库的实现、Hilt依赖注入的集成以及前后端数据同步的完整方案。通过一个加密任…...

【PostgreSQL】超简单的主从节点部署
1. 启动数据库 启动主节点 docker run --name postgres-master -e POSTGRES_PASSWORDmysecretpassword -p 5432:5432 -d postgres启动从节点 docker run --name postgres-slave -e POSTGRES_PASSWORDmysecretpassword -p 5432:5432 -d postgres需要配置挂载的存储卷 2. 数据…...

zotero pdf中英翻译插件使用
最近发现一个pdf中英翻译的神器zotero-pdf2zh,按照官方安装教程走一遍的时候,发现一些流程不清楚的问题, 此文就是整理一些安装需要的文件以及遇到的问题: 相关文件下载地址 Zotero 是一款免费的、开源的文献管理工具࿰…...

WSL(Windows Subsystem for Linux)入门
目录 1.简介2.安装与配置3.常用命令4.进阶使用4.1 文件系统交互4.2 网络互通4.3 配置代理4.4 运行 GUI 程序4.5 Docker 集成 1.简介 WSL 是 Windows 系统内置的 Linux 兼容层,允许直接在 Windows 中运行 Linux 命令行工具和应用程序,无需虚拟机或双系统…...

Python项目73:自动化文件备份系统1.0(tkinter)
主要功能说明: 1.界面组件:源文件夹和目标文件夹选择(带浏览按钮),备份间隔时间设置(分钟),立即备份按钮,自动备份切换按钮,状态栏显示备份状态。 2.进度条显…...

C++:扫雷游戏
一.扫雷游戏项目设计 1.文件结构设计 首先我们要先定义三个文件 ①test.c //文件中写游戏的测试逻辑 ②game.c //文件中写游戏中函数的实现等 ③game.h //文件中写游戏需要的数据类型和函数声明等 2.扫雷游戏的主体结构 使⽤控制台实现经典的扫雷游戏 •游戏可以通过菜单…...

使用xlwings将excel表中将无规律的文本型数字批量转化成真正的数字
之前我写了一篇文章excel表中将无规律的文本型数字批量转化成真正的数字-CSDN博客 是使用excel自带的操作,相对繁琐。 今天使用xlwings操作,表格如下(有真正的数字,也有文本型数字,混在在一起)࿱…...

文件包含 任意文件读取
文件处理漏洞--文件包含 - wizard骑士 - 博客园 1,什么是文件包含 程序开发人员一般会吧重复使用的函数写道单个文件中,需要使用某个函数时直接调用此文件,无需再次编写,文件调用的过程就是文件包含,所以将包含的文件…...