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!

JEE für Anfänger (Video-Tutorials)

Ich habe ein paar kurze Videos zur Erstellung einer Java Enterprise Applikation mit NetBeans gedreht. In diesen Videos wird gezeigt, wie man die Verbindung zu einer MySQL-Datenbank herstellt und Persistent Entites generiert. Außerdem wird gezeigt, wie auf diese Persistent Entities über eine Session Bean innerhalb eines Web-Servlets zugegriffen werden kann.
JEE für Anfänger (Video-Tutorials) weiterlesen

Notiz – JDBC Datasource in JEE-Applikation hinzufügen

Hier eine Kurzbeschreibung, um in der Entwicklungsumgebung NetBeans 6.9.1 eine JDBC-Datasource für eine Java Enterprise-Applikation hinzuzufügen. Inklusive Database Mapping, Persistent Entities und Session Beans, die über Annotationen in einem Servlet verwendet werden können:

  1. „mysql-connector-java-5.1.13-bin.jar“ in den lib-Ordner von GlassFish 3.0.1 kopieren
  2. GlassFish neustarten
  3. MySQL Connection-Pool in der GlassFish-Administrationsoberfläche anlegen
  4. JDBC Ressource (jdbc/name) in der GlassFish- Administrationsoberfläche anlegen
  5. Entity Classes from Database (mit List-Collection) in NetBeans-Projekt generieren
  6. New Persistence Unit in NetBeans-Projekt generieren
  7. New Session Bean (ohne Interface) in NetBeans-Projekt erzeugen
  8. New Servlet in NetBeans-Projekt erzeugen
  9. SessionBean mit @EJB-Annotation verwenden

Die JDBC Ressource muss diese Eigenschaften gesetzt haben:

portNumber
databaseName
serverName
password
user
URL
Url

Die URL wird folgendermaßen aufgebaut: jdbc:mysql://hostname:port/databaseName.

Could not load JDBC driver class

Beim Versuch eine Datenquelle (engl. datasource) in /WEB-INF/applicationContext.xml meiner Java Enterprise-Anwendung hinzuzufügen, lieferte mir die Ausgabe meines GlassFish Server 3 in NetBeans 6.9.1 diesen Fehler:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‚dataSource‘ defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are: PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property ‚driverClassName‘ threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [com.mysql.jdbc.Driver]

Could not load JDBC driver class weiterlesen

Hibernate Tutorial in Kurzform

Hibernate Tutorials sind oft schwergewichtig und komplex. Aus diesem Grund möchte ich einen kleinen Beispiel-Code veröffentlichen, wie man in Hibernate die Attribute (Variablen) einer Java Klasse (Plain Old Java Object) in einer relationalen Datenbank (MySQL) abspeichert. Weil Hibernate ein Thema für fortgeschrittene Java-Entwickler ist, gehe ich davon aus, dass man anhand des Codes sich die Zusammenhänge erschließen kann.

Hibernate Tutorial in Kurzform weiterlesen