Datenbanken
In todo4teams werden benutzerdefinierte Datenbanken zur Speicherung lösungsbezogener strukturierter Daten verwendet, wie z. B. die Sammlung von Spam-Absenderadressen, Kundendaten usw.
Der Zugriff auf diese Daten erfolgt äußerst schnell und Sie können den Aufbau der Tabellen selbst bestimmen. Die hier verwendete Apache Derby-Datenbank unterstützt Indizes, referenzielle Integrität und alle anderen Funktionen, die Sie von einer SQL-Datenbank erwarten würden.
Um eine benutzerdefinierte Datenbank in Skripten zu verwenden, befolgen Sie bitte diese Schritte:
- Wählen Sie die Registerkarte „Systemparameter“.
- Klicken Sie auf „Neuer Parameter“, um einen neuen Parameter zu speichern
- Geben Sie als Schlüssel den Namen der neuen Datenbank ein – hier zum Beispiel MyCustomDB (siehe unten)
- Geben Sie als „Wert“ den Namen der Datenbank und das Verzeichnis an, in dem die Datenbank gespeichert werden soll (siehe Beispiel):
Bitte beachten Sie, dass das Datenbankverzeichnis – hier: /home/databases – vorhanden und für den ausführenden Benutzer des Tomcat-Anwendungsservers beschreibbar sein muss! - Anschließend verwenden Sie die neue Datenbank wie folgt in Ihren Skripten: Der hier zu verwendende Datenbankname ist der, den Sie oben als „Schlüssel“ eingegeben haben. Verwenden Sie die Datenbank wie jede andere JDBC-Datenbank in Java. Dies ist eine Derby-Datenbank. Weitere Derby-spezifische Informationen finden Sie hier: https://db.apache.org/derby/docs/10.0/manuals/reference/sqlj02.html
Um Ihre neue Datenbank direkt zu steuern, wählen Sie im Hauptmenü „Datenbanken“ und wählen Sie Ihre neue Datenbank („MyCustomDB“) aus dem Dropdown-Menü aus:
Kopieren Sie die folgenden Zeilen in den Textbereich und klicken Sie auf „Ausführen“:
Id INT NOT NULL GENERATED ALWAYS AS IDENTITY,
Age INT NOT NULL,
FirstName VARCHAR(255),
LastName VARCHAR(255),
PRIMARY KEY (Id)
);
Sie haben gerade eine erste Tabelle in Ihrer Datenbank erstellt!
Der Skriptcode zum Speichern neuer Zeilen in dieser Tabelle könnte wie folgt aussehen:
var stmt = con.prepareStatement("INSERT INTO Student (age, FirstName, LastName) VALUES (?,?, ?)");
stmt.setString(1, 23);
stmt.setString(2, "Max");
stmt.setString(3, "Meier");
try{
stmt.executeUpdate();
if (!con.getAutoCommit()){
c.commit();
}
}
catch(de){
// collision!
println(de.getMessage());
}
finally{
stmt.close();
}
Überprüfen Sie den Inhalt Ihrer Tabelle über den Menupunkt „Datenbanken“: Geben Sie „SELECT * FROM Student;“ ein. und drücken Sie „Ausführen“, um alle Zeilen der Tabelle „Student“ aufzulisten:
Vergessen Sie nicht, das Verzeichnis mit Ihren Datenbanken zu sichern!