Bevor wir die Fenstergestaltung von Eingabemasken beginnen schaffen wir die Basis für die Datenbankanbindung.
Zunächst wird für alle Module das aktuellste Archiv heruntergeladen:
Hibernate http://www.hibernate.org/
log4j http://logging.apache.org/log4j/
In unserem Projekt legen wir nun ein neues Verzeichnis mit dem Name "lib" an.
Eclipse: (File / New / Folder) als Folder name geben wir "lib" ein.
In diesem lib - Verzeichnis werden zukünftig alle für das Projekt benötigten Bibliotheken gespeichert. Insbesondere die Dateien von Hibernate ändern sich von Version zu Version. Daher werden diese hier nicht einzeln aufgezählt. Üblicherweise befindet sich innerhalb des Hibernate Verzeichnisses eine readme.txt Datei. In dierser Datei werden alle benötigten Bibliotheken und deren Einsatzzweck genannt.
Für HSQL wird, wie bereits erwähnt nur die Datei hsqldb.jar und für unser Loggin die Datei log4j-Version.jar in unser lib - Verzeichnis kopiert.
Es folgt nun die komplette Datei: hibernate.cfg.xml
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
//
<hibernate-configuration>
<session-factory>
//
<!-- Database connection settings -->
<property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="connection.url">jdbc:hsqldb:file</property>
<property name="connection.username">SA</property>
<property name="connection.password"></property>
//
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.HSQLDialect</property>
//
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
//
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
//
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">update</property>
//
<!-- Mappings -->
<mapping class="de.tth.genre.Genre"/>
//
</session-factory>
</hibernate-configuration>
Die Dokumententypdeklaration wird vom XML-Parser verwendet
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
Hier werden die Datenbankspezifischen Angaben durchgeführt.
Unsere drei wichtigesten Treiber sind:
hsql = org.hsqldb.jdbcDriver
MySQL = com.mysql.jdbc.Driver
PostgreSQL = org.postgresql.Driver
MySQL = jdbc:mysql://localhost:3306/Datenbankname
PostgreSQL = jdbc:postgresql://localhost:5432/Datenbankname
<!-- Database connection settings -->
<property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="connection.url">jdbc:hsqldb:file</property>
<property name="connection.username">SA</property>
<property name="connection.password"></property>
hsql = org.hibernate.dialect.MySQLDialect MySQL = org.hibernate.dialect.HSQLDialect PostgreSQL = org.hibernate.dialect.PostgreSQLDialect
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.HSQLDialect</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
hbm2ddl.auto = update = erstellt Hibernate die Tabellen automatisch, sofern sie noch nicht existieren.
hbm2ddl.auto = create = LÖSCHT ALLE TABELLEN und erstellt automatisch neue Tabellen.
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">update</property>
(Diese Klasse werden wir später erstellen.)
<!-- Mappings -->
<mapping class="de.tth.genre.Genre"/>