Installer l’application sur MySQL

Présentation

L’application développée pour le livre utilise le serveur GlassFish et la base de données Derby. Pour installer l’application sur la base de données MySQL il faut effectuer quelques changement.

Installez et configurez MySQL

Tout d’abord, il faut installer MySQL 5. Pour cela, rendez-vous sur le site de MySQL et téléchargez la version dédiée à votre plateforme. Démarrez la base de données et connectez vous à celle-ci via l’éditeur (mysql -u root). Il faut ensuite créer la base petstoreDB et la rendre accessible à l’utilisateur dbuser (mot de passe dbpwd).

C:\> mysql -u root
mysql> create database petsoreDB;
mysql> grant all on petstoreDB.* to dbuser@'localhost' identified by 'dbpwd';

Installez le driver dans GlassFish

Téléchargez le driver MySQL ConnectorJ et copiez le fichier mysql-connector-java-version-bin.jar dans le répertoire %GLASSFISH_HOME%/lib.

Modifiez les taches ant

Il faut ensuite modifier certaines variables des fichiers admin.xml et build.xml. Les fichiers contiennent déjà ces différentes valeurs, il suffit donc de mettre en commentaires certaines variables et en décommenter d’autres.

admin.xml

<!--Pour Derby-->
<!--<property name="db.port" value="1527"/>-->

<!--<property name="db.datasource" value="org.apache.derby.jdbc.ClientDataSource"/>-->
<!--<property name="db.url" value="jdbc:derby://${db.host}:${db.port}/${db.sid}"/>-->

<!--Pour MySQL-->
<property name="db.port" value="3306"/>
<property name="db.datasource" value="com.mysql.jdbc.jdbc2.optional.MysqlXADataSource"/>

<property name="db.url" value="jdbc:mysql://${db.host}:${db.port}/${db.sid}"/>
(...)
<path id="classpath">

  <!--Pour Derby-->
  <!--<pathelement location="${derby.lib}/derbytools.jar"/>-->
  <!--<pathelement location="${derby.lib}/derbyclient.jar"/>-->

  <!--<pathelement location="${derby.lib}/derby.jar"/>-->
  <!--Pour MySQL-->
  <pathelement location="${glassfish.lib}/mysql-connector-java-5.0.7-bin.jar"/>

</path>

build.xml

<!--Derby-->
<!--<property name="db.port" value="1527"/>-->
<!--<property name="db.driver" value="org.apache.derby.jdbc.ClientDriver"/>-->

<!--<property name="db.url" value="jdbc:derby://${db.host}:${db.port}/${db.sid}"/>-->
<!--MySQL-->

<property name="db.port" value="3306"/>
<property name="db.driver" value="com.mysql.jdbc.Driver"/>
<property name="db.url" value="jdbc:mysql://${db.host}:${db.port}/${db.sid}"/>

(...)
<path id="classpath">
  <pathelement location="${glassfish.lib}/appserv-deployment-client.jar"/>
  <pathelement location="${glassfish.lib}/appserv-rt.jar"/>

  <pathelement location="${glassfish.lib}/webservices-rt.jar"/>
  <pathelement location="${glassfish.lib}/appserv-admin.jar"/>
  <pathelement location="${glassfish.lib}/javaee.jar"/>

  <pathelement location="${glassfish.lib}/toplink-essentials-agent.jar"/>
  <pathelement location="${glassfish.lib}/toplink-essentials.jar"/>

  <pathelement location="${glassfish.lib}/install/applications/jmsra/imqjmsra.jar"/>
  <!--Derby-->
  <!--<pathelement location="${derby.lib}/derbyclient.jar"/>-->

  <!--MySQL-->
  <pathelement location="${glassfish.lib}/mysql-connector-java-5.0.7-bin.jar"/>
</path>

Configurez les serveurs

Maintenant que les taches ant sont modifiées, vous pouvez suivre les instructionspour configurer les serveurs.

Vérifiez les données

Une fois les applications déployées sur le serveur, vous pouvez consulter la base de donnée et vérifier que les tables ont bien été créé et les données insérées.

mysql> use petstoreDB;
mysql> show tables;
+----------------------+
| Tables_in_petstoredb |
+----------------------+
| sequence             |
| t_address            |
| t_category           |
| t_customer           |
| t_item               |
| t_order              |
| t_order_line         |
| t_order_order_line   |
| t_product            |
+----------------------+
mysql> select * from t_category;

Leave a Reply