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

 

Jetzt müsste man nur noch wissen, wie man die SQL-Befehle benutzt. 

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 jedesmal (wenn sie

bereits existiert) gelöscht (Zeile drop table) und neu angelegt (Zeile create table). Dementsprechend gehen alle vorhandenen Daten wieder verloren.