Inhaltsverzeichnis
Hallo Datenbank
Dieser Abschnitt zeigt, wie man mit Java eine SQLite Datenbank benutzt. Das Beispiel-Programm erstellt eine Datenbank und trägt hier zwei Werte („Hallo Welt“ und „Hello World“) ein. Anschließend werden die soeben eingetragenen Werte aus der Datenbank gelesen und auf der Konsole ausgegeben. Wenn dieses Programm läuft, steht dem Programmieren von JAVA mit SQLite nichts mehr im Wege.
Um mit Java auf eine SQLite-Datenbank zugreifen zu können, wird die Bibliothek sqlite-jdbc-3.7.2.jar (Downloadbereich) benötigt. Diese *.jar (Java Archive) muss in Eclipse eingebunden werden (siehe FAQ), was dann aber schon alles ist, d.h. lediglich die Bibliothek muss im Projekt zur Verfügung stehen.
Was ist SQLite?
SQLite ist eine kleine, einfache aber häufig eingesetze Datenbank, die von der Syntax (Sprachgebrauch) an SQL angelehnt ist (SQL ≡ Structured Query Language, ist ein weltweiter Datenbank-Standard).
SQLite benötigt, im Gegensatz zu den meisten anderen Datenbanksystemen, keine Client-/Server-Installation und ist deswegen einfach einzusetzen.
Verwendet wird SQLIte z.B. in:
- IPhone
- IPad
- Android Geräten
und zwar für Email, Adressen oder Kontaktdaten.
Nahezu jede Android-App verwendet im Grunde eine SQLite Datenbank .
Java Code
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; public class Main { public static void main(String[] args) throws Exception { String database = "test.db"; String table = "my_table"; // Treiber registrieren Class.forName("org.sqlite.JDBC"); // Datenbankverbindung herstellen Connection conn = DriverManager.getConnection("jdbc:sqlite:" + database); /* Arbeiten mit der Datenbank */ // Table löschen und neu anlegen Statement stat = conn.createStatement(); stat.executeUpdate("drop table if exists " + table + ";"); stat.executeUpdate("create table " + table + " (name);"); // Werte einfügen PreparedStatement prep = conn.prepareStatement("insert into " + table + " values (?);"); prep.setString(1, "Hallo Welt"); prep.addBatch(); prep.setString(1, "Hello World"); prep.addBatch(); conn.setAutoCommit(false); prep.executeBatch(); conn.setAutoCommit(true); // Werte abfragen ResultSet rs = stat.executeQuery("select * from " + table + ";"); while (rs.next()) { System.out.println(rs.getString("name")); } // Verbindung beenden rs.close(); conn.close(); } }
Die Ausgabe des Programms lautet :
Hallo Welt Hello World
Damit steht aber der Fahrplan fest: Man muss sich mit der Java SQL-Bibliothek vertraut machen.
Das war ein Beispiel !
Dieses Programm kann man eigentlich nicht benutzen, denn die Tabelle wird jedes mal (wenn sie bereits existiert) gelöscht (Zeile drop table) und neu angelegt (Zeile create table). Dementsprechend gehen alle vorhandenen Daten wieder verloren.