OpenXava für MySQL oder andere Datenbanken konfigurieren

OpenXava mit MySql oder IBM Db2

OpenXava

Das quelloffene Framework OpenXava ermöglicht es Entwickler, schnell und einfach Business Webanwendungen zu erstellen. Anhand Datenstruktur, Businesslogik und Anzeigeinformationen wird automatisch eine Benutzeroberfläche generiert. Standardmäßig ist OpenXava für HyperSQL Datenbanken konfiguriert. Im nachfolgenden Artikel wird beschrieben, welche Schritte nötig sind, um OpenXava mit anderen Datenbanken zu verwenden.

OpenXava für MySQL oder andere Datenbank konfigurieren

Neues Projekt

Zunächst öffnet man mit Eclipse den Workspace, welcher mit OpenXava ausgeliefert wird. Nun erstellt man ein neues Java Projekt. Im Projekt OpenXavaTemplate befindet sich die CreateNewProject.xml. Diese führt man als Ant Build aus. Wenn Ant nach den Projektnamen fragt, gibt man den Namen des zuvor erstellten Java Projekts ein. Eine ausführliche Anleitung kann direkt bei OpenXava gefunden werden.

Das neue Projekt ist nun einsatzbereit. Zunächst muss jedoch die Datenbank eingestellt werden.

Datenbank und Konfiguration

Standardmäßig ist OpenXava für HyperSQL Datenbanken konfiguriert. Um eine andere Datenbank zu verwenden, benötigt man zunächst den passenden JDBC Treiber (z.B.: “mysql-connector-java-5.1.22-bin.jar“ für MySQL, “db2jcc.jar“ für IBM DB2, etc.).

Diese wird in folgende Ordner kopiert:

/tomcat/lib
/workspace/OpenXavaTest/lib

In die context.xml im Ordner /tomcat/conf/ muss folgendes hinzugefügt werden:

<Resource name="jdbc/ResourceDS" auth="Container" type="javax.sql.DataSource"
maxActive="20" maxIdle="5" maxWait="10000"
username="root" password="123root" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/database"/>

Desweiteren wird die build.xml Im Projektordner wird der “target“-Tag mit dem Namen updateSchema wie abgebildet abgeändert, damit schema.path zu dem zuvor kopierten JDBC Trieber zeigt. In diesem Beispiel handelt es sich um den MySQL Connector im OpenXavaTest/lib Ordner.

<target name="updateSchema">
    <ant antfile="../OpenXava/build.xml" target="updateSchemaJPA"> 
        <property name="persistence.unit" value="junit"/>
        <property name="schema.path" value="../OpenXavaTest/lib/mysql-connector-java-5.1.22-bin.jar"/>
    </ant>
</target>

Im Projekt unter /persistence/META-INF/ wird die Datei persistence.xml wie folgt geändert:

<persistence-unit name="default">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <non-jta-data-source>java:comp/env/jdbc/ResourceDS</non-jta-data-source>
    <class>org.openxava.session.GalleryImage</class>
    <properties>
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
    </properties>
</persistence-unit>

<persistence-unit name="junit">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <properties>
        <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
        <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/academydb"/>
    </properties>
</persistence-unit> 

Die hibernate.cfg.xml im Ordner /persistence des Projektes wird die Property “hibernate.dialect“ wie folgt geändert:

<property name="hibernate.connection.datasource">java:comp/env/jdbc/ResourceDS</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.jdbc.use_get_generated_keys">false</property> 
<property name="hibernate.show_sql">false</property>

Für eine Verbindung zu einer IBM DB2 Datenbank würde die besagt Zeile folgendermaßen aussehen:

<property name="hibernate.connection.driver_class">com.ibm.db2.jcc.DB2Driver</property>

Und alle Properties mit dem Namen “hibernate.dialect“ müssten folglich angepasst werden:

<property name="hibernate.dialect">org.hibernate.dialect.DB2Dialect</property>

Nun kann updateSchema mittels Ant ausgeführt werden. Damit wird die war-Datei in den /tomcat/webapps/ Ordner entpackt und es kann auf die Datenbank zugegriffen werden.

Tagged with:     , , , , ,

About the author /


Einst gelernter Werkzeugbautechniker, habe ich vor etlichen Jahren mein Leben der Informatik verschrieben. Zur Zeit studiere ich noch Informatik auf der Fachhochschule Technikum Wien und beschäftige mich am liebsten mit Java, Android und Elektronik.

Related Articles

Post your comments

Your email address will not be published. Required fields are marked *

*

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

Unterstütz uns!

Folgt uns!

Diese Seite

wurde erstellt mit Ehrgeiz, Liebe und viel Koffein. Bei der Erstellung kamen keine jar-Dateien zu Schaden. Das Logo wurde erstellt von Star-seven.at.