====== Java - Datenbank ======
Die Datenbank **sqlite3** erfreut sich wegen ihrer Einfachheit (keine Konfiguration) großer Beliebtheit. Mit Java kann darauf einfach zugegriffen werden. Benötigt wird die Datei //sqlitejdbc-v056.jar//.
Mit folgendem Befehl kann dann ein Programm SqliteDemo.java im Ordner ~/java/sqlite gestartet werden:
java -classpath /home/walter/java/sqlite:./sqlitejdbc-v056.jar SqliteDemo
=== Benutzung ===
Für die Nutzung benötigt man Instanzen von ''Connection'' und ''Statement'', die man am besten als Attribute deklariert. Damit kann dann eine Verbindung erstellt werden:
// Attribute
private String dbName; // Datenbankname
private Connection conn; // DriverManager.getConnection("jdbc:sqlite:test.db");
private Statement stat; // conn.createStatement();
=== Verbindung zur Datenbank herstellen: ===
// Mit der Datenbank verbinden
public boolean connect() {
try {
Class.forName("org.sqlite.JDBC");
if ( conn != null) conn.close();
conn = DriverManager.getConnection("jdbc:sqlite:"+dbName);
stat = conn.createStatement();
return true;
}
catch (Exception e) { return false; }
}
// Datenbank schließen
public boolean close() {
try {
if ( conn != null) conn.close();
return true;
}
catch (Exception e) { return false; }
}
=== Ausgabe einer Vorhandenen Tabelle: ===
// Abfrage per sql-String
// Im Beispiel: Tabelle mit zwei Spalten name/occupation
public void query(String sql) {
try {
ResultSet rs = stat.executeQuery(sql);
while (rs.next())
System.out.print ( rs.getString("name") + ", " + rs.getString("occupation"));
rs.close();
}
catch (Exception e) {
System.out.println("Die Abfrage konnte nicht durchgeführt werden.\n" + e.getMessage());
}
}
=== Update einer Tabelle per sql-String (Delete, Insert, etc.) ===
// Update einer Tabelle per sql-Befehl: delete, insert, ...
public void update(String sql) {
try {
int anzahl = stat.executeUpdate(sql);
System.out.println("Es wurden "+anzahl + " Zeilen geändert/gelöscht.");
}
catch (Exception e) {
System.out.println("Die Aktualisierung konnte nicht durchgeführt werden. \n" + e.getMessage());
}
}
=== Demo-Aufruf: ===
// Testprogramm
public static void main(String[] args) {
SqliteDemo sqlite = new SqliteDemo("test.db");
if (sqlite.connect()) {
sqlite.query("SELECT * FROM people ORDER BY name");
sqlite.update("DELETE FROM people WHERE name='Bauer'");
sqlite.update("INSERT INTO people VALUES ('Schmidt', 'Bankier')");
sqlite.close();
}
else
System.out.println("Fehler beim Herstellen der Verbindung.");
}