Java und SQLite – Tutorial

Ich war überrascht, wie einfach es ist, mit Java auf einer SQLite-Datenbank zu arbeiten. Man muss lediglich einen SQLite JDBC Treiber (z.B. sqlitejdbc-v056.jar oder Xerial SQLite JDBC Driver) in seinem Java-Projekt hinzufügen und dann diesen Beispiel-Code ausführen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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
  {
    Class.forName("org.sqlite.JDBC");
    Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db");
    Statement stat = conn.createStatement();
    stat.executeUpdate("drop table if exists people;");
    stat.executeUpdate("create table people (name, occupation);");
    PreparedStatement prep = conn.prepareStatement("insert into people values (?, ?);");
 
    prep.setString(1, "Gandhi");
    prep.setString(2, "politics");
    prep.addBatch();
 
    prep.setString(1, "Turing");
    prep.setString(2, "computers");
    prep.addBatch();
 
    prep.setString(1, "Wittgenstein");
    prep.setString(2, "smartypants");
    prep.addBatch();
 
    conn.setAutoCommit(false);
    prep.executeBatch();
    conn.setAutoCommit(true);
 
    ResultSet rs = stat.executeQuery("select * from people;");
    while (rs.next())
    {
      System.out.println("name = " + rs.getString("name"));
      System.out.println("job = " + rs.getString("occupation"));
    }
    rs.close();
    conn.close();
  }
}

Daraufhin wird beim erstmaligen Aufruf eine Datenbank namens „test.db“ im Projekt-Ordner angelegt und eine Tabelle „people“ mit den Spalten „RecNo“, „name“ und „occupation“. In diese Tabelle werden weiterhin drei Datensätze geschrieben. Doch Vorsicht! Beim erneuten Ausführen des Codes wird die Tabelle wieder gelöscht und neu angelegt (siehe Code-Zeile 14). Wer die SQLite-Datenbank genauer betrachten möchte, dem empfehle ich das Werkzeug SQLite Expert, welches in der „Personal Edition“ sogar kostenlos ist!

3 Gedanken zu „Java und SQLite – Tutorial“

  1. Hi
    Bei mir funktioniert der Code ganz gut aber wenn ich eine 4. Spalte hinzufüge denn bekomme ich immer diesen Feher:
    Exception in thread „main“ java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database ()
    at org.sqlite.DB.newSQLException(DB.java:383)
    at org.sqlite.DB.throwex(DB.java:378)
    at org.sqlite.NestedDB._exec(NestedDB.java:167)
    at org.sqlite.Stmt.executeUpdate(Stmt.java:152)
    at com.Main.main(Main.java:13)

  2. hi,

    auch wenn der Kommentar etwas älter ist:

    @Mr. X warum willst du eine Spalte hinzufügen??? die Datenbankstruktur legt man doch normalerweise grundlegend fest anstatt sie dauernd zu verändern. im Normalfall solltest du dies nicht benötigen.

    gurß

  3. Was hier als „Treiber“ bezeichnet ist, ist glaube ich einfach nur eine Bibliothek. Man möge mich korrigieren falls ich falsch läge, aber wenn nicht bitte ich darum, das umgehend zu ändern!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.