Java DataBase Connectivity est un framework Java permettant de se connecter à une base de données, d'y consulter, modifier, ajouter et supprimer des données.
Ces quatre opérations élémentaires sont appelées CRUD (Create, Read, Update and Delete)
Avant de commencer, nous allons créer une base de données.
Au cours, j'ai utilisé la base FNDP2003 disponible sur MySql local.
Toutefois, à mon domicile, pour la mise au point du code source, j'ai du créer ma propre BD.
C’est donc avec celle-ci que je travaillerai.
Pour la créer, vous avez besoin de ce script : Script MySql
Attention, le script que je vous propose a été testé sur mon PC, sur lequel j’ai tous les droits.
A la HELHa, vous n’avez pas le droit de créer un nouvel utilisateur dans MySql.
La connexion ne s’établira donc pas.
Les élèves me l’ont fait observer au cours suivant.
Utilisez donc l’utilisateur root et laissez une chaîne vide comme mot de passe.
java.sql.Connection maConnexion = DriverManager.getConnection("jdbc:mysql://localhost/helha_clients", "helha_grad2", "cocoNuts");
java.sql.Connection maConnexion = DriverManager.getConnection("jdbc:mysql://localhost/helha_clients", "root", "");
Cependant, je laisse l’exemple intact pour que vous puissiez voir comment on crée un profil utilisateur en MySql et comment on l’utilise en JDBC,
tout en vous prévenant que ce code ne fonctionne pas à la HELHa.
Il s’agit de l’application du principe de moindre privilège qui veut qu’on ne donne pas accès à toutes les ressources (toutes les bases de données)
à un utilisateur qui n’a besoin que d’une seule.
On ne donne pas un passe-partout à un pensionnaire qui n’a besoin que de la clef de sa chambre.
Pour exécuter ce script, placez-vous dans MySql, en mode administrateur.
Ensuite, au prompt MySql, encodez la commande : source /cheminDAcces/clients.sql;
Attention, si vous utilisez PhpMyAdmin, la zone de texte SQL n’exécute pas les commandes de création de BD ni d’utilisateurs, que vous devez créer préalablement.
C’est une base de données toute simple, qui ne contient qu’une seule table de quelques enregistrements.
Avant d’exécuter, vous devez importer le pilote MySql dans votre projet :
Si vous n’en disposez pas déjà, le voici.
Nous avons créé deux classes:
La classe d’accueil
La classe client
Modifiez le nom du client dans la classe d’accueil, puis constatez le changement dans la base de données.