Avec Objis, spécialiste Java depuis 2005, maîtrisez l’insertion et la récupération de données dans une base de données MySQL. Installez le Driver MySQL Connector, qui possède les implémentations pour la base MySQL des interfaces Connexion, Statement, ResultSet de l’API java.sql. Apprenez ensuite à Packager votre livraison pour la mise en production. Identifiez enfin les opportunités d’amélioration du code
ASTUCE –> Soyez informé de la mise à jour de nos tutos ou de la création de nouveaux tutos.
Auteur
Douglas MBIANDOU. Président Objis . Concepteur formation ‘Nouveautés Java 8 et 9’
Prérequis
Connaissance de JAVA.
Objectifs
Mettre en oeuvre l’API JDBC java.sql
Comprendre les 5 étapes clés pour l’insertion de données
Comprendre les 6 étapes clés pour la récupération de données
Liens utiles
200 tutos java Objis
Objis, spécialiste formation java depuis 2005
Déploiement Jar sur Tutoriel Java officiel Oracle
Durée
30min
Programme
Partie 1 : création du projet
Partie 2 : ajout du driver JDBC MySql
Partie 3 : création table
Partie 4 : Insertion données en base
Partie 5 : récupération de données
Partie 6 : création livraison en production (sans manip MANIFEST.MF)
Partie 7 : création livraison en production (avec manip MANIFECST.MF)
Partie 8 : optimisations
Partie 1 : projet eclipse demojdbc
A partie d’Eclipse (Standard ou Entreprise), Menu File->New
L’écran suivant apparaît.
Ajoutez le nom du projet (ici demojdbc) dans le champ ‘Project Name’, puis appuyez sur bouton ‘Next’.
L’écran suivant apparaît.
Eclipse déposera les fichiers compilés (.class) dans le répertoire bin.
Cliquez sur ‘Finish’
Le projet apparaît dans la vue ‘Explorateur de package’.
Création package et classe
Cliquez droit sur src->new->Class
L’écran suivant apparaît.
Entrez dans le champ Name le nom de classe : DemoJdbc
Entrez dans le champ Package le nom du package dans lequel la classe sera : com.objis.demojdbc
Cochez la case ‘public static void main()’ afin de lancer l’application à partir de cette classe.
Pui bouton Finish. Eclipse met à jour la vue Explorer.
Partie 2 : Ajout du driver JDBC
Librairie du projet (Driver JDBC) et CLASSPATH eclipse
Créez un répertoire lib à la racine du projet
Dans ce répertoire importez le driver jdbc :
cliquez-droit puis import
General/File System
naviguez dans votre système jusqu’à trouver le driver (ici mysql-connector-java-5.0.5.jar, récupéré suite au dézippage de ZIP Driver )
Cliquez sur Finish
Le driver apparaît dans la vue.
Informez Eclipse de l’existence de ce driver
Cliquez-droit sur le projet->properties.
L’écran suivant apparaît.
Dans l’onglet ‘Librairies’ cliquez sur bouton ‘Add Jars’ car le driver est déja dans le projet (Sinon il faudrait cliquer sur Add External Jars)
sélectionnez le driver puis OK
Le driver apparaît désormais dans ‘Referenced librairies’.
Partie 3 : création table
En utilisant le client PhpMyAdmin, créer :
— Une base de données ‘formation’
— une table ‘javadb’ possédant une seule colonne ‘personne’
Expliquez
Partie 4 : insertion de données
Code d’accès aux données
Créez une méthode sauverEnBase() suivante, qui prend en paramètre une chaîne de caratère à insérer en base de données.
Cette méthode statique sera apellée à partir de la méthode main() et donc au lancement de l’application.
QUESTION 1 : Dans quel package se trouve Connection ? Est-ce une Classe ou une interface ?
QUESTION 2 : à quoi sert le code : Class.forName ?
QUESTION 3 : à quoi sert le ‘try / catch’ ?
QUESTION 4 : y a t’il une autre façon de gérer les erreurs potentielles ?
QUESTION 5 : à quoi sert le bloc ‘finaly’ ?
cliquez-droit sur la classe DemoJdbc->Run As->Java Application.
La données a bien été insérée en base de données.
Partie 5 : lecture de données
Ci-dessous le code de récupération de données
Résultat
Nous avons récupérés les informations en base de données.
Code du projet
Partie 6 : livraison en production (sans manipulation du Manifest)
Créer un répertoire ‘livraisons’ vide
copier / coller dans ce répertoire le répertoire ‘lib’ dans lequel vous avez copié le Driver
En s’appuyant sur la création de livrable, créer dans ce répertoire livraison le livrable demojdbc.jar
Cliquer droit sur le projet dans eclipse
Export
L’écran suivant apparaît
Notez que par défaut vous vous apprêtez donc à créer un livrable contenant : le source ompilé (ça on en a besoin), le driver (on l’a déja), et fichier eclipse .project et .classpath (on en a pas besoin en production !)
Spécifiez le répertoire dans lequel vous allez créer le livrable aussi.
Décochez tout ce qui n’est pas strictement lié au code source.
L’écran devient :
Next
Next
Next
Notez la petite taille du livrable. C’est une bonne pratique d’essayer d’avoir toujours un livrable de la taille la plus petite possible (on met juste ce qu’il faut).
Lancez la commande suivante à partir du répertoire livraisons : java -cp demojdbc.jar com.objis.demojdbc.DemoJdbc
Expliquer l’option -cp
Expliquez
Lancez la commande suivante : java -cp demojdbc.jar;lib/mysql-connector-java-5.0.5-bin.jar com.objis.demojdbc.DemoJdbc
Partie 7 : livraison en production (avec manipulation du Manifest)
Créer à la racine du projet un répertoire ‘META-INF’
Dans ce répertoire, créer un fichier texte MANIFEST.MF suivant
Expliquer les 4 lignes du fichier
Vous venez de créer une deuxième version de votre livrable. L’intérêt ici est que vous allez pouvoir lancer l’application uniquement avec la commande : java -jar demojdbc2.jar
CORRECTION
Projet eclipse
Livraisons avec et sans manipulation MANIFEST.MF
Partie 8 : optimisations
Question : qu’est ce qu’un ‘PraparedStatement’ ? Quelle différence avec un Statement ?
Proposez un refactoring du code en utilisant les PreparedStatements. Quel avantage ?
Proposez une meilleure stratégie de gestion des exceptions. En particulier, créez un package java ‘exceptions’ et créezz une exception ‘DataBaseException’ héritant de la classe Exception et dont la méthode getMessage() sera redéfinie pour renvoyer le message ‘ERREUR ACCES BASE DE DONNEES’
Coté sécurité, citez au moins une faille à laquelle ce code s’expose. Comment s’en prémunir ?
Conclusion
Dans ce tutoriel, vous avez découvert les étapes clés de connexion à une base de données relationnelle avec JAVA.
Professionnels : maîtrisez les nouveautés Java 8 et 9 !
A travers notre nouvelle formation Nouveautés Java 8 et 9 (durée 4 jours) conçue par l’auteur de ce tutoriel, découvrez par la pratique le nouveau système de Modules Java 9 (Encapsulation forte + Intercafes + Dépendances explicites) ainsi que les spécificités de Java 8 (Streams, Lambda, Optional…). Maîtrisez également la méthodologie de migration de votre code vers Java 9. Un sérieux atout pour votre employabilité et l’évolution de votre carrière professionnelle !. Contactez-nous dès maintenant !