什么是 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.pswp.cn/news/904594.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/904594.shtml
英文地址,請注明出處:http://en.pswp.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; 先查看是…