Un piccolo howto per usare MariaDB come database di backend con OpenXava.
OpenXava è un fantastico “low code” (o RAD) per gestire database in filosofia CRUD.
Si tratta di un prodotto fatto in Java, compatibile con molti standard. Crea dei file .WAR (=applicazione) che funzionano negli Application Server (TomCat, WildFly, JBoss, ecc…) e si può usare attraverso un’interfaccia web sia attraverso un computer, un tablet, uno smartphone.

1. Introduzione
Configurare la tua applicazione OpenXava per usare MariaDB è semplice. Sostanzialmente è sufficiente aggiungere le dipendenze per il driver JDBC per MariaDB nel tuo progetto e definire correttamente il datasource. Non è necessario toccare il codice della tua applicazione.
Si presuppone che sia già stato installato e stia girando MariaDB 11 o uno più recente.
2. Aggiungere i driver JDBC per MariaDB al tuo progetto
Editare il file pom.xml
situato nella root del progetto, quindi aggiungere le seguenti dipendenze all’interno del blocco <dependencies>
:
<!-- MariaDB -->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>3.1.4</version>
</dependency>
3. Sistemare le definizioni del datasource
Editare il file src/main/webapp/META-INF/context.xml
del tuo progetto e commentare la sezione HSQLDB:
<!-- HSQLDB
<Resource name="jdbc/testDS" auth="Container" type="javax.sql.DataSource"
maxTotal="20" maxIdle="5" maxWaitMillis="10000"
username="sa" password=""
driverClassName="org.hsqldb.jdbc.JDBCDriver"
url="jdbc:hsqldb:hsql://localhost:1666"/>
-->
quindi aggiungere il datasource che come segue:
<Resource name="jdbc/myappDS" auth="Container"
type="javax.sql.DataSource"
maxTotal="20" maxIdle="5" maxWaitMillis="10000"
username="root" password="ao49fmsk"
driverClassName="org.mariadb.jdbc.Driver"
url="jdbc:mariadb://localhost:3306/myappdb"/>
Da personalizzare il driverClassName e l’URL. Ovviamente, al posto di localhost va messo l’indirizzo del server MariaDB e la posto di myappdb va messo il nome del database reale. Va anche riportato il corretto username e password. Non dimenticare di commentare o rimuovere il datasource HSQLDB (il default quando crei un nuovo progetto OpenXava). Solo un datasource (con lo stesso nome) deve essere attivo.
4. Rebuild il progetto
Dopo i cambi bisogna fare nuovamente il build del progetto. In OpenXava Studio clicca con il bottone destro del mouse sul progetto e scegliere Run As > Maven install.
Se hai Maven nel computer puoi anche usare la linea di comando:
$ cd myapp
$ mvn install
Nota: al posto di mvn install
, che ricostruisce tutto il progetto, è possibile usare l’istruzione mvn war:exploded
, senza far ricostruire l’intero progetto. Con OpenXava Studio puoi usare Run As > Maven build... e digitare war:exploded
per avere lo stesso risultato.
5. Lancia l’applicazione
Avvia la tua applicazione e lavorerà con MariaDB. Se non usa l’RDBM, verifica che il server MariaDB sia attivo, che usernamen e password inserite in context.xml
sia corrette e che l’IP del server sia corretto. Verifica anche che l’utente di accesso al DB abbia i permessi di creare database e tabelle (se desideri usare le funzioni automatiche di OpenXava di generazione dello schema. Questo non serve se le tabelle già esistono).
Se i problemi persistono puoi usare il Formu di Aiuto di OpenXava. Riporta il contenuto dei file persistence.xml
, context.xml
(rimuovi la passwords) e soprattutto lo stacktrace prodotto, di cui trovi le stringhe nella Console di OpenXava Studio.