
peopleimages.com - stock.adobe.c
HSQLDB-Datenbanken per Java Database Connectivity verbinden
Die Java-Datenbank HyperSQL erfordert keine komplexe Konfiguration. Entwickler, die mit Java Database Connectivity arbeiten, können die Datenbank als Experimentierfeld verwenden.
Der einfachste Weg für Java-Entwickler, Java Database Connectivity (JDBC) zu erlernen, ist das Experimentieren mit der HyperSQL-Datenbank, auch bekannt als HSQLDB.
HSQLDB ist eine einfache, leichtgewichtige Datenbank, die keine Installation oder komplexe Konfiguration erfordert.
Wenn Sie über eine integrierte Entwicklungsumgebung (IDE) wie Eclipse oder IntelliJ verfügen und bereit sind, mit einem Java-Build-Tool wie Maven oder Gradle zu arbeiten, können Sie Ihre erste JDBC- und HSQLDB-Anwendung in wenigen Minuten zum Laufen bringen.
Voraussetzungen für das HSQLDB-JDBC-Tutorial
In diesem Tutorial verwenden wir Eclipse und Maven, aber die Vorgehensweise ist für andere Build-Tools und IDEs identisch.
Die in diesem JDBC-Tutorial mit HSQLDB ausgeführten Schritte sind wie folgt:
- Erstellen Sie ein neues Maven-Projekt in Eclipse.
- Erstellen Sie eine HSQLDB-Datenbank mit der DatabaseManagerSwing-Anwendung.
- Erstellen Sie eine Datenbanktabelle mit dem Namen Player.
- Erstellen Sie eine Java-Klasse mit einer main-Methode, welche die generische Exception auslöst.
- Fügen Sie einen Import für die erforderlichen JDBC-SQL-Klassen hinzu.
- Erstellen Sie eine Datenbankverbindung.
- Geben Sie programmgesteuert eine insert query für die HyperSQL-Datenbank aus.
- Überprüfen Sie, ob die JDBC-Einfügung erfolgreich war.
Maven-Abhängigkeit von HSQLDB
Erstellen Sie zunächst ein neues Maven-Projekt in Eclipse, fügen Sie die HSQLDB-Abhängigkeit zur POM-Datei (Project Object Model) hinzu und aktualisieren Sie das Projekt.
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.5.1</version>
</dependency>
Das ist bereits alles, was Sie tun müssen, um HSQLDB zu installieren und zu konfigurieren.
Wie erstellt man eine Datenbank in HSQLDB?
Nachdem Sie die HSQLDB-POM-Abhängigkeit hinzugefügt haben, klicken Sie mit der rechten Maustaste auf Ihr Eclipse-Projekt, wählen Sie Run As und suchen Sie nach der Klasse DatabaseManagerSwing im Paket org.hsqldb.util.
Geben Sie im angezeigten Verbindungsfenster die folgenden Einstellungen ein:
- Setting Name: JDBC HSQLDB Tutorial Database
- Type: HSQL Database Engine Standalone
- Driver: org.hsqldb.jdbc.JDBCDriver
- URL: jdbc:hsqldb:file:target/myDB
- User: SA
- Password: password
Verwenden Sie das integrierte HSQLDB-Konfigurationswerkzeug, um eine JDBC-Datenbank für Ihre Anwendung zu erstellen.

Wie erstellt man eine HSQLDB-Tabelle?
Nachdem die Datenbank erstellt wurde, verwenden Sie im nächsten Schritt die Option COMMAND –> CREATE TABLE in der DatabaseManagerSwing-Anwendung, um eine Datenbanktabelle mit dem Namen PLAYER zu erstellen.
Fügen Sie dazu den folgenden Befehl in das Query-Fenster ein und wählen Sie ExecuteQuery:
CREATE MEMORY TABLE PLAYER (ID BIGINT IDENTITY NOT NULL PRIMARY KEY, loginname VARCHAR(255), password VARCHAR(255))
Klicken Sie anschließend mit der rechten Maustaste auf den Ordner PUBLIC.PLAYER im linken Fensterbereich, wählen Sie SELECT * FROM “PUBLIC”.”PLAYER” und klicken Sie auf die Schaltfläche Execute SQL.
Sie sehen eine leere Tabelle mit drei Spalten: ID, LOGINNAME und PASSWORD.

Der HSQL-Datenbankmanager erleichtert das Erstellen von Tabellen für die JDBC-Konnektivität.
So funktionieren Java, JDBC und HSQLDB
Nachdem die Einrichtung und Konfiguration von HSQLDB JDBC abgeschlossen ist, können Sie eine Java-Klasse schreiben, die:
- java.sql.* importiert
- eine main-Methode enthält, welche die generische Ausnahme auslöst
- HSQLDB mit JDBC verbindet und einen Datensatz hinzufügt
Die Grundstruktur der Java-Klasse sieht wie folgt aus:
package com.mcnz.jdbc.hsql;
import java.sql.*;
public class JdbcExample {
public static void main(String[] args) throws Exception {
// JDBC HSQL tutorial code goes here
}
}
Wie erstellen Sie eine HSQLDB-JDBC-Verbindung?
Um eine Verbindung zur Datenbank herzustellen, müssen Sie dem JDBC DriverManager den Namen der Datenbank und die Anmeldedaten eines Benutzers mit Zugriffsrechten übergeben. Deklarieren Sie diese Informationen als String-Eigenschaften am Anfang der main-Methode und übergeben Sie sie dann an die Methode getConnection() des DriverManagers.
String db = „jdbc:hsqldb:file:target/myDB“;
String user = „SA“;
String password = ‚password‘;
Connection connection = DriverManager.getConnection(db, user, password);
Einen SQL-Insert-Befehl ausführen
Nachdem die HSQL-JDBC-Verbindung hergestellt wurde, können Sie JDBC-Anweisungsobjekte abrufen, mit denen Sie SQL-Befehle an die Datenbank senden können.
Die folgenden Codezeilen verwenden JDBC, um einen neuen Datensatz zur Tabelle Player der HSQLDB-Datenbank hinzuzufügen:
String insertQuery = „INSERT INTO PLAYER VALUES (1,‚McKenzie‘,'password')“;
Statement stmt = conn.createStatement();
stmt.execute(insertQuery);
Speichern Sie Ihre Änderungen, schließen Sie die DatabaseManagerSwing-Anwendung, falls sie noch ausgeführt wird, und führen Sie dann den Code aus. Dadurch wird ein neuer Datensatz zur Tabelle Player der Datenbank hinzugefügt.
Überprüfen Sie den SQL-Befehl
Um die erfolgreiche JDBC-Einfügung in HSQLDB zu überprüfen, führen Sie die Klasse DatabaseManagerSwing erneut aus und fragen Sie die Tabelle Player ab. Sie werden sehen, dass Ihr JDBC-Code einen neuen Datensatz zur Datenbank hinzugefügt hat, was beweist, dass Ihr HSQLDB-JDBC-Beispiel erfolgreich ausgeführt wurde.

Das JDBC-Beispiel hat einen Datensatz erfolgreich in die HSQL-Datenbank eingefügt.
Schließen Sie Ihre JDBC-Ressourcen
Sowohl das JDBC-Statement- als auch das Connection-Objekt implementieren die Closeable-Schnittstelle, was bedeutet, dass wir die Methode close() aufrufen sollten, wenn sie nicht mehr verwendet werden.
Dies geschieht automatisch, wenn die Objekte in einem try-with-resources-Block initialisiert werden. In diesem Fall müssen wir jedoch die Methode close() manuell aufrufen.
Mit diesen letzten Schritten sieht das vollständige JDBC-HSQL-Beispiel wie folgt aus:
package com.mcnz.hsql.example;
import java.sql.*;
public class JdbcExample {
public static void main(String[] args) throws Exception {
String db = "jdbc:hsqldb:file:target/myDB";
String user = "SA";
String password = "password";
Connection conn = DriverManager.getConnection(db, user, password);
String insertQuery = "INSERT INTO PLAYER VALUES (1,'McKenzie','password')";
Statement stmt = conn.createStatement();
stmt.execute(insertQuery);
stmt.close();
conn.close();
}
}