Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Java et Eclipse
  3. Base de données MySQL
Extrait - Java et Eclipse Développez une application avec Java et Eclipse (2e édition)
Extraits du livre
Java et Eclipse Développez une application avec Java et Eclipse (2e édition)
2 avis
Revenir à la page d'achat du livre

Base de données MySQL

Introduction

Ce chapitre nécessite des connaissances générales sur les bases de données et sur le langage SQL (Structured Query Language).

L’application XAMPP, acronyme de X Apache MySQL Perl PHP, est utilisée. Un serveur, une base de données relationnelle et une interface graphique d’administration sont ainsi immédiatement disponibles. Les langages Perl et PHP ne seront pas utiles dans le cadre du projet de gestion Oxygen. Il existe des versions de XAMPP pour Windows, Linux, Mac OS et Solaris.

Vous avez aussi la possibilité de choisir Wamp.

SQL et les bases de données relationnelles

1. Les bases de données relationnelles

Une base de données permet de stocker des informations de manière persistante dans des structures dédiées à cet effet. Ces structures s’appellent des tables. Chaque table d’une base de données a pour vocation de stocker des informations similaires entre elles, comme par exemple la liste des clients d’une entreprise. Les commandes seront, elles, stockées dans une table différente.

Une table définit un certain nombre de colonnes, une pour chaque information à stocker. Par exemple la table des clients contiendra une colonne avec le nom du client, une autre colonne stockant son prénom, une autre colonne contenant son e-mail, une autre contenant la date de création du client dans le système… Ces colonnes ont toutes un nom, unique à l’intérieur de la table.

Chaque table contiendra des données. Ces données seront stockées dans une ligne. Par exemple la table des clients contiendra autant de lignes qu’il y a de clients, chacune des lignes stockant les informations du client dans la colonne appropriée.

Afin d’identifier de manière unique un client, une colonne sera dédiée au stockage de cet identifiant. On parle de cet identifiant comme d’une clé primaire. Une clé primaire doit obligatoirement être unique à l’intérieur des valeurs de cette colonne pour une table donnée.

Le plus souvent, il existe plusieurs tables dans une base, liées entre elles : il doit être possible dans un système de pouvoir retrouver toutes les commandes d’un client donné. On parle communément d’une relation entre les données (d’où le terme de base de données relationnelles). Cette relation se crée en ajoutant une colonne supplémentaire dans une des tables, stockant la clé primaire d’une ligne d’une autre table. Cette colonne est communément appelée clé étrangère. Ainsi...

Installation et configuration du serveur XAMPP

Pour une installation ou une mise à jour, vous pouvez vous rendre sur différents sites de téléchargement (par exemple https://www.apachefriends.org/index.html). Plusieurs kits d’installation sont disponibles. Le plus simple est celui comportant un installateur. La version utilisée lors de l’écriture de cet ouvrage est XAMPP 7.1.8-0-VC14 pour win32.

Les explications et les copies d’écrans qui suivent concernent cette version. Les opérations à mener pour des versions plus récentes peuvent être différentes.

 Téléchargez l’installateur pour Windows, et double cliquez sur le fichier téléchargé pour lancer l’installation.

 Sur Windows, un avertissement apparaît. Cliquez sur OK.

images/9-8-1.png

 Vous pouvez ensuite choisir les composants à installer. Laissez les options par défaut. Si vous n’avez pas assez de place sur votre disque dur, ne cochez que Apache, MySQL et phpMyAdmin.

images/9-8-2.png

 Le dossier par défaut pour l’installation est C:\xampp. Vous pouvez choisir un autre dossier. Cliquez ensuite sur le bouton Next.

images/9-8-3.png

 Continuez jusqu’à aboutir à cet écran. Cliquez alors sur Next pour lancer le processus d’installation.

images/9-8-4.png

 Si tout s’est bien passé, vous devriez aboutir à l’écran suivant. Cliquez sur le bouton Finish.

images/9-8-5.png

 Accédez au panneau de contrôle en bas à droite de votre écran puis cliquez sur les boutons Start pour lancer Apache et MySQL.

images/9-8-6.png

 Cliquez ensuite sur le bouton Admin de l’option MySQL.

Une page web est ouverte, commençant par l’adresse http://localhost/phpmyadmin. Il s’agit de la page...

JDBC

JDBC (Java DataBase Connectivity) permet à des applications clientes développées en Java d’accéder à des bases de données relationnelles. JDBC fournit toutes les classes utiles pour gérer ces opérations.

JDBC est une API pour laquelle il existe quatre types de pilotes dont les performances et la portabilité sont variables.

  • Type 1 : le premier type est basé sur ODBC. Les appels JDBC sont dans ce cas convertis en appels ODBC. Celui-ci les transmet au SGBDR qui traite les requêtes SQL reçues. De même, les jeux d’enregistrements retournés utilisent la passerelle ou pont JDBC/ODBC entre l’application Java et la base de données.

images/08-34.png

Les principales opérations réalisées sont les suivantes :

1. Chargement du pilote.

2. Établissement de la connexion via le pont JDBC/ODBC avec la base de données.

3. Exécution des requêtes SQL par le SGBDR MySQL.

4. Récupération des jeux d’enregistrements (pour des requêtes de sélection).

5. Fermeture des jeux d’enregistrements (si existants).

6. Fermeture de la connexion.

  • Type 2 : il s’agit d’un pilote dont une partie est écrite en Java et l’autre dans le langage du SGBDR. Les appels JDBC sont convertis en appels natifs. Son utilisation nécessite l’installation de la partie native sur le client. Autres...

JPA

Java Persistence API ou JPA est une interface de programmation applicative permettant de faciliter l’accès et le codage à des données persistées par exemple dans une base de données.

JPA permet de créer un modèle métier (des classes) qui servira d’interface entre l’application et les données en base. Les requêtes vers la base seront écrites dans le langage JPQL (JPA Query Language), qui permet d’écrire les requêtes SQL en format Objet. Il est toutefois toujours possible d’écrire ces requêtes en SQL.

Grâce à des annotations du package javax.persistence, il est possible d’effectuer des correspondances entre les propriétés de ces objets et les tables et colonnes de la base de données.

Il est même possible avec ce modèle métier de créer complètement la structure de la base de données : les tables et les colonnes.

JPA est donc une API de haut niveau qui permet de se concentrer sur le modèle métier et de masquer les détails techniques de la persistance en base.

Exemple d’annotation


package entite; 
 
import java.util.Date; 
 
import javax.persistence.Basic; 
import javax.persistence.CascadeType; 
import javax.persistence.Entity; 
import javax.persistence.Id; 
import javax.persistence.ManyToOne; ...

Installation des pilotes Connector/J

Comme indiqué sur le site MySQL, il s’agit du type de driver JDBC officiel pour les bases de données MySQL. C’est un driver JDBC de type 4.

Il sera utilisé pour le projet Oxygen.

Sur le site MySQL, un fichier d’archive zip appelé mysql-connector-java-5.1.43.zip est disponible pour la version 5.1.43. Téléchargez-le depuis l’adresse https://dev.mysql.com/downloads/connector/j, et extrayez-le.

Le driver JDBC qui nous intéresse est le fichier mysql-connector-java-5.1.43-bin.jar.

La documentation et les sources des classes du driver sont également disponibles dans ce dossier.

Les tests avec ce pilote se feront à partir de l’application Java.

Pour éviter d’avoir des liens cassés, vous pouvez copier le driver dans un dossier du projet (par exemple lib/).

Voici la procédure d’installation sous Eclipse :

 Sous Eclipse, effectuez un clic droit sur votre projet et choisissez Properties.

 Sélectionnez ensuite Java Build Path et l’onglet Libraries.

 Cliquez sur le bouton Add External JARs, allez dans le dossier contenant le driver et procédez à l’ajout.

 Cliquez ensuite sur l’onglet Order and Export, cochez la case du driver puis validez.

Drivers de type 2 et 3

Pour installer un driver de type 2 ou 3, téléchargez et décompressez le fichier...

Installation d’EclipseLink

EclipseLink est une des implémentations disponibles de JPA. Vous pouvez télécharger les binaires à l’adresse http://eclipse.org/eclipselink/downloads/.

À l’heure d’écriture de ce livre, la version 2.7.0 est la dernière disponible.

 Téléchargez l’installateur zip depuis le site web.

images/9-8-17.png

 Décompressez l’archive et copiez le contenu du dossier eclipselink/jlib dans le dossier lib/eclipselink du projet.

 Ajoutez les fichiers eclipselink.jar et jpa/javax.persistence_2.2.0.v201708071007.jar dans le Build Path du projet, comme vu précédemment. Ajoutez également ces fichiers .jar dans l’onglet Order and Export.

images/9-8-18.png

Le projet contient maintenant toutes les briques nécessaires pour accéder à la base de données.

Il reste néanmoins à configurer le projet pour qu’il sache à quelle base de données accéder.

 Créez un dossier META-INF dans le répertoire src/main/resources en faisant un clic droit après avoir sélectionné le dossier src/main/resources, et sélectionnez New - Folder. Dans Folder Name, tapez « META-INF » (sans guillemets). Cliquez sur Finish.

 Dans ce dossier, créez un nouveau fichier nommé « persistence.xml » (sans les guillemets), en le sélectionnant dans l’explorateur. Faites ensuite un clic droit et sélectionnez New - File. Tapez ensuite « persistence.xml » (toujours sans guillemets) dans File Name. Cliquez ensuite sur Finish.

Le fichier s’ouvre alors dans la zone de code.

 Dans cette zone, tapez le contenu...