datenbank
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."); }
datenbank.txt · Last modified: 2024/03/11 10:35 by walter