Sie sind hier: JDBC-HsqlDB
Zurück zu: DBS
Allgemein:
Vorlesungen
Labore
Sinnvolle Programme
Lineare Regression
GUI-Entwurfsarbeit
Single-Format
Design Pattern-Termine
Observer1
Bsp2
Json-Array
Json-Dialogelemente
Webtechnologien
Die HsqlDB ist eine frei verfügbare Datenbank, die auf puren Java-Code basiert.
In den unteren Beispielen wird die Datenbank nur im Hauptspeicher erstellt.
Nach einem Shutdown werden ALLE SQL-Befehle in der Datei "hsqldb_bsp.script" eingetragen.
Deshalb gibt es in der DBS-Klasse mehrere Methoden:
. public void openDbs() {
. public void setDbs(String databaseFile) {
. public DataTable selectDBS(String sql) {
. public void changeDBS(String sql) {
. public void shutdownDBS() {
Reihenfolge:
1) setDbs inklusive openDbs
2) selDbs ( holt Daten, unkritsch)
3) changeDbs (nun werden Daten geändert, aber noch nicht gespeichert!)
4) Nach einer Reihe von changeDbs-Befehlen MÜSSEN die Methoden shutdown und openDbs aufgerufen werden
Benötigt wird nur die Datei hsqldb.jar.
Einstieg:
neues Projekt (Eclipse oder Netbeans)
Link zur jar-datei
Einfügen der Datei Hsql_Bsp1.java
Übersetzen
In den oberen Editor die textdatei hsqldb_mitarbeiter_abteilung.txt einfügen.
Quellcode Hsql_Bsp1.java
SQL-Quellcode: hsqldb_mitarbeiter_abteilung.txt
Einstieg mit der fertigen jar-Datei:
Hsql_Bsp1.zip
Hsql_Bsp2.zip
Hsql_Bsp3.zip
Das Beispiel zeigt die Anbindung an die Datenbank HsqlDB mit Java
Eigenschaften:
Der Resultset wird in ein DataTable à la C# umgewandelt.
Danach werden die Daten in zwei Klassen ModelAbteilung, ModelMitarbeiter gekapselt.
Eine JTable-Komponente kapselt komplett die GUI mit einem Navigator-Bar.
Export nach Excel eingebaut.
Eine echte DatenbankConsole ist eingebaut.
Anzeige der Tabellen und den jeweiligen Spalten.
Beispiel | Link |
Einfaches Beispiel mit der Ausgabe in einem Editor. |
Hsql_Bsp1.zip Quellcode: Hsql_Bsp1.java Bilder: firebird_bsp1.png |
Datenbank mit Abteilung und Mitarbeiter Der Resultset wird in ein DataTable à la C# umgewandelt. Eine JTable-Komponente kapselt komplett die GUI mit einem Navigator-Bar. Export nach Excel eingebaut. Eine echte DatenbankConsole ist eingebaut. |
Hsql_Bsp2.zip Bilder: firebird_bsp2.png firebird_bsp2a.png firebird_bsp2b.png firebird_bsp2c.png firebird_bsp2d.png |
Datenbank mit Abteilung und Mitarbeiter Der Resultset wird in ein DataTable à la C# umgewandelt. Danach werden die Daten in zwei Klassen ModelAbteilung, ModelMitarbeiter gekapselt. Eine JTable-Komponente kapselt komplett die GUI mit einem Navigator-Bar. Export nach Excel eingebaut. Eine echte DatenbankConsole ist eingebaut. |
Hsql_Bsp3.zip Bilder (identisch mit Variante 2): firebird_bsp2.png firebird_bsp2a.png firebird_bsp2b.png firebird_bsp2c.png firebird_bsp2d.png |
Stichwort | Frage | Question | Antwort / Answer |
Sequence | Wie bekomme ich eine Sequencenummer ? | How I get a sequencenumber? |
1) create sequence "seqname" 2) create a table sequenz (pindex as integer) 3) insert ONE tupel pindex=1 4) SELECT NEXT VALUE FOR "+seqname+" FROM Sequenz; here you see, why you need a separat table 5) get the number from the returnvalues Better, if you convert the returnvalues to the class datatable à la C# Quellcode: sequence.txt |
getTables |
Wie bekomme ich die Tabellen? | How I get the Entities/Tables? |
tables: String[] TABLE_TYPES = {"TABLE"} DatabaseMetaData dbmd = conn.getMetaData(); rs = dbmd.getTables(null, null, null, TABLE_TYPES); while (rs.next()) { tables.add( rs.getString(TABLE_NAME) ); } Quellcode: tables_columns.txt |
getColumns | Wie bekomme ich die Spalten einer Tabelle? | How I get the columns of a table? |
Columns: SELECT column_name, Data_type FROM INFORMATION_SCHEMA.COLUMNS where table_name='"+ tablename+"' "; Quellcode: tables_columns.txt |
dbsConsole | Ich benötige eine DBS-Cosnole in meinem Programm | I need a DBSComnsole in my program. |
in my JDialog "FDBSConsole.java" you get an two list for the tables and columns and an editor for the sql-input, and a jtable for the results. Quellcode: FDBSConsole.java see samples 3: Hsql_Bsp3.zip |