什么是 HSQLDB?

大家好,这里是架构资源栈!点击上方关注,添加“星标”,一起学习大厂前沿架构!

Java开发人员学习Java数据库连接(JDBC)的最简单方法是试验HyperSQL数据库(又名HSQLDB)。

HSQLDB是一个简单、轻量级的数据库,无需安装或复杂的配置。

如果您有 Eclipse 或 IntelliJ 等 IDE,并且愿意使用 Maven 或 Gradle 等 Java 构建工具,那么您可以在几分钟内启动并运行您的第一个 JDBC 和 HSQLDB 应用程序。

HSQLDB JDBC教程先决条件

在本教程中,我们将使用 Eclipse 和 Maven,但其他构建工具和 IDE 的流程相同。

本 JDBC 与 HSQLDB 教程中执行的步骤如下:

  1. 在 Eclipse 中创建一个新的 Maven 项目。
  2. _使用DatabaseManagerSwing_应用程序创建HSQLDB数据库。
  3. 创建一个名为 Player 的数据库表。
  4. 创建一个具有推送通用异常的main方法的Java类。
  5. 为所需的JDBC SQL类添加导入。
  6. 编写好的数据库连接代码。
  7. insert以Smashing方式向HyperSQL数据库发布查询。
  8. 验证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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/904594.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

shell脚本--2

1、实时监控cpu、内存的shell脚本 #!/bin/bash# 获取当前时间 DATE$(date "%Y-%m-%d %H:%M:%S")# 获取CPU使用情况 CPU_USAGE$(top -b -n1 | grep "Cpu(s)" | awk {print $2 $4})# 获取内存使用情况 MEMORY_USAGE$(free | grep Mem | awk {print $3/$2 *…

性能比拼: HTTP/2 vs. HTTP/3

本内容是对知名性能评测博主 Anton Putra HTTP/2 vs. HTTP/3 performance benchmark 内容的翻译与整理, 有适当删减, 相关指标和结论以原作为准 在本内容中&#xff0c;我们将比较 HTTP/2 和 HTTP/3 协议。 我们将使用 Terraform 和 Ansible 在 Google Cloud Platform (GCP) …

【Vue】组件自定义事件 TodoList 自定义事件数据传输

目录 一、绑定 二、解绑 组件自定义事件总结 TodoList案例对数据传输事件的修改 总结不易~ 本章节对我有很大收获&#xff0c; 希望对你也是&#xff01;&#xff01;&#xff01; 本章节素材已上传Gitee&#xff1a;yihaohhh/我爱Vue - Gitee.com 前面我们学习的clikc、…

Windows远程连接MySQL报错,本地navicat能连接MySQL

一、报错 telnet 119.87.111.79 3306​​“无法打开到主机的连接。在端口 3306: 连接失败”​​ 表明无法通过 TCP 协议连接到目标服务器的 3306 端口。 二、目的 &#xff08;1&#xff09;​​Telnet 测试的目的​​ Telnet 仅用于测试 ​​TCP 端口是否开放​​&#xff…

电池管理系统BMS三级架构——BMU、BCU和BAU详解

储能电站的电池管理系统&#xff08;BMS&#xff09;通常采用三级架构&#xff1a;从控&#xff08;BMU&#xff09;、主控&#xff08;BCU&#xff09;、总控&#xff08;BAU&#xff09;。这种分层设计实现了电池模组、簇、堆的分级管理和控制&#xff0c;确保系统运行的安全…

C++ 基础复习

基础复习 1.const引用为什么能引用临时对象2.内联函数的额外作用3. nullptr 1.const引用为什么能引用临时对象 临时对象&#xff08;Temporary Object&#xff09;是在表达式求值过程中隐式创建的对象&#xff0c;例如&#xff1a; 函数返回非引用类型的值 类型转换&#xff0…

AI的出现,是否能替代IT从业者?

阐述观点&#xff1a;AI 的出现不会完全替代 IT 从业者&#xff0c;但会深刻改变 IT 行业的工作方式和岗位结构。 AI 不会完全替代 IT 从业者的原因 AI 本身需要人来开发与维护 AI 模型、系统架构、数据管道等都需要 IT 专业人员来构建和优化。 例如&#xff1a;AI 工程师、M…

【服务器通信-socket】——int socket(int domain, int type, int protocol);

#include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol); domain: AF_INET 这是大多数用来产生socket的协议&#xff0c;使用TCP或UDP来传输&#xff0c;用IPv4的地址 AF_INET6 与上面类似&#xff0c;不过是来用IPv6的地…

Python基本环境搭配

Python3 环境搭建 | 菜鸟教程 里面有直接跳转 Fitten Code 按下 Tab 键接受所有补全建议&#xff1a; 按下 Ctrl→ 键(mac系统为Command→)接收单个词补全建议&#xff1a; 用户可通过点击左上角工具栏中的Fitten Code – 开始对话或者使用快捷键CtrlAltC(mac系统为Contr…

C++负载均衡远程调用学习之HOOK注册机制

目录 1.larV0.7-hook流程的说明 2.larV0.7-TCP_server集成链接HOOK函数 3.larV0.7-TCP_client集成链接HOOK注册功能 1.larV0.7-hook流程的说明 ### 7.1 数据库表相关查询方法实现 ​ 我们先实现一些基本的数据表达查询方法&#xff1a; > lars_dns/src/dns_rout…

Rust 与 Golang 深度对决:从语法到应用场景的全方位解析

一、引言 在软件开发的快速发展浪潮中&#xff0c;Rust 和 Golang&#xff08;Go 语言&#xff09;脱颖而出&#xff0c;成为开发者热议的编程语言。Rust 凭借强大的内存安全性与卓越的性能备受赞誉&#xff0c;Golang 则以简洁的语法和出色的并发处理能力赢得开发者青睐。本文…

C++负载均衡远程调用学习之订阅功能与发布功能

目录 1.lars-DnsV0.1回顾 2.Lars-DnsV0.2-订阅功能的订阅模块分析 3.Lars-DnsV0.2-订阅模块的类的单例创建及方法属性初始化 4.Lars-DnsV0.2-发布功能的实现 5.Lars-DnsV0.2-发布功能的总结 6.Lars-DnsV0.2-订阅流程复习 7.Lars-DnsV0.2-订阅模块的集成 8.Lars-DnsV0.2订…

SurfSense开源程序是NotebookLM / Perplexity / Glean的开源替代品,连接到外部来源,如搜索引擎

​一、软件介绍 文末提供程序和源码下载 虽然 NotebookLM 和 Perplexity 等工具令人印象深刻&#xff0c;并且对于对任何主题/查询进行研究都非常有效&#xff0c;但 SurfSense 通过与你的个人知识库集成来提升这种能力。它是一个高度可定制的 AI 研究代理&#xff0c;连接到外…

基于OpenTelemetry的分布式链路追踪Trace‌实现(PHP篇)

目录 引言一、OpenTelemetry是一套可观测性标准协议二、分布式追踪&#xff08;‌Trace‌&#xff09;是OpenTelemetry的核心功能之一三、OpenTelemetry的架构原理四、OpenTelemetry的分布式追踪&#xff08;‌Trace‌&#xff09;实践1、准备PHP环境2、下载SDK3、编写实例代码…

探索智能体的记忆:类型、策略和应用

AI Agent 中的记忆&#xff1a;类型、策略和应用 记忆实现是使智能体能够保持上下文、从过去的交互中学习并做出明智决策的关键组成部分。与人类记忆非常相似&#xff0c;智能体记忆允许 AI 系统随时间存储、检索和利用信息&#xff0c;从而为用户创造更连贯和个性化的体验。 …

leetcode 2395. Find Subarrays With Equal Sum

题目描述 代码&#xff1a; class Solution { public:bool findSubarrays(vector<int>& nums) {int len nums.size();if(len <2)return false;unordered_set<int> table;int sum 0;for(int i 1;i < len;i){sum nums[i-1]nums[i];if(table.contains(…

Kubernetes(k8s)学习笔记(七)--KubeSphere 最小化安装

前情提要 可视化操作面板对于开发、运维绝对是提升工作效率的一大利器&#xff0c;因此很有必要搭建一套可视化操作来管理Kubernetes。 可视化面板有多种&#xff1a; 1.Kubernetes官方提供的默认面板&#xff1a;dashboard&#xff0c;用处不大&#xff0c;放弃&#xff1b…

MCP连接Agent:AI时代的TCP/IP

介绍 2023年&#xff0c;生成式AI爆发。2024年&#xff0c;智能体&#xff08;Agent&#xff09;接棒成为AI新焦点。2025年&#xff0c;智能体似乎已经要开始爆发了。目前的智能体更像一个“单机App”&#xff1a;彼此不了解、无法通信&#xff0c;更不能协作。类似互联网早期…

交换机工作原理(MAC地址表、VLAN)

目录 一、交换机的基本工作原理 数据帧的转发 MAC地址表的作用 交换机的转发方式 二、VLAN&#xff08;虚拟局域网&#xff09; VLAN的定义 VLAN的作用 VLAN的实现方式 VLAN的帧标记 VLAN的通信 三、交换机与VLAN的结合 四、交换机与VLAN的实际应用场景 交换机是局…

eFish-SBC-RK3576工控板外部RTC测试操作指南

备注&#xff1a; 1&#xff09;测试时一定要接电池&#xff0c;否则外部RTC断电后无法工作导致测试失败&#xff1b; 2&#xff09;如果连接了网络&#xff0c;系统会自动同步NTP时钟&#xff0c;所以需要关闭自动同步时钟。 关闭自动同步NTP时钟方法&#xff1a; 先查看是…