Exercice 2 - Configuration de la connexion à la base de données⚓︎
Nous allons maintenant configurer la datasource.
Schéma
Il faut bien sûr pour cela qu'une base de données soit accessible. On supposera ici qu'elle l'est sur localhost
sur le port 3306
. On suppose également qu'un schéma gestion_notes
est créé sur cette instance.
Il a normalement été créé dans le TD précédent.
1. Configuration du pilote⚓︎
Il faut commencer par installer le pilote MySQL. Par défaut, il n'y a que le pilote h2.
Pour cela, dans le dossier 📂<WILDFLY_HOME>/modules/system/layers/base/com
, créer un dossier 📂mysql
puis un dossier 📂main
dans celui-ci. Il y a deux choses à mettre dans ce dossier :
-
Le connecteur java-mysql (jar)
Pilote pour MySQL
Nous l'avons déjà utilisé dans le TD précédent. Mais il suffisait de l'ajouter dans la configuration Maven (dans le fichier 📄
pom.xml
).Il est disponible ici (https://dev.mysql.com/downloads/connector/j/).
À ce lien, sélectionner "Plateform Independent", puis télécharger le zip.
Il n'est pas nécessaire de se connecter, si tu n'as pas de compte Oracle, il suffit de cliquer sur No thanks, just start my download juste en dessous.
⚠️ Dans ce zip, seul le fichier 📄
mysql-connector-j-a.b.c.jar
nous intéresse. Tout les autres fichiers sont inutiles pour nous.Le connecteur 📄
mysql-connector-j-a.b.c.jar
doit être placé dans 📂<WILDFLY_HOME>/modules/system/layers/base/com/mysql/main
(il suffit normalement de créer les dossiers 📂mysql
et 📂main
). -
Le fichier
module.xml
Le fichier module.xml
Créer ce fichier dans le dossier, en recopiant le contenu ci-dessous dans son contenu (⚠️⚠️attention à adapter la version du jar⚠️⚠️) :
📄 module.xml 1 2 3 4 5 6 7 8 9
<module xmlns="urn:jboss:module:1.5" name="com.mysql"> <resources> <resource-root path="mysql-connector-j-8.2.0.jar" /><!--(1)!--> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
-
⚠️⚠️
Il faut indiquer ici le même nom que celui du jar présent dans ce dossier.
⚠️⚠️
-
-
Dans la console d'administration.
Dans la console d'administration
Dans la console d'administration, aller dans le menu
Configuration > Subsystems > Datasources & Drivers > JDBC Drivers
.Il ne doit pour l'instant n'y en avoir qu'un seul :
h2
.Cliquer sur "Add JDBC Driver", puis remplir :
- Driver Name :
mysql
- Driver Module Name :
com.mysql
Le reste est laissé vide. Cliquer enfin sur
Add Si besoin, modification manuelle du fichier 📄standalone.xml
Plutôt que d'utiliser la console d'administration, il est possible de faire ces mêmes modifications directement depuis un fichier de configuration XML. Il s'agit du fichier 📄
WILDFLY_HOME/standalone/configuration/standalone.xml
.Dans ce fichier, chercher la balise
<drivers>
. Elle contient uniquement le driverh2
pour le moment. Nous allons ajouter notre driverMySQL
. Pour cela, recopier le code suivant :📄 standalone.xml 1
<driver name="mysql" module="com.mysql"/>
- Driver Name :
2. Configuration de la source de données⚓︎
Configuration de la source de données
Nous pouvons maintenant crééer la datasource.
Toujours depuis la console d'administration, après avoir redémarré le serveur Wildfly, aller dans Configuration > Subsystems > Datasources & Drivers > Datasources
, et cliquer sur "Add Datasource". Il y a 6 écran de configuration :
- Sélectionner "MySQL".
- Indiquer
MySqlGestionNotesJPA
comme Name etjava:/MySqlGestionNotesJPA
comme JNDI Name. - Ne rien changer.
- Indiquer
jdbc:mysql://localhost:3306/gestion_notes
dans Connection URL (il faut adapter cette URL si le port est différent, et si le schéma créé sur la BDD n'est pasgestion_notes
), et saisir le User Name et l'éventuel Password. - Tester la connexion.
- Valider la création de la datasource.
Si besoin, modification manuelle du fichier 📄standalone.xml
Nous avons fait la même opération que lorsque nous avions modifié les fichiers 📄server.xml
et 📄context.xml
sur le serveur Tomcat.
Ici, on aurait également pu modifier directement le fichier 📄standalone.xml
, plutôt que d'utiliser la console d'administration.
Dans ce fichier de configuration, vous pouvez constater l'apparition d'une balise <datasource>
référencant la source MySqlGestionNotesJPA
.