1. Introduction 2. Paramètres de connexion

publicité
Connexion
1.
Co n n e x io n
Introduction
J av a e t N e t Be a n s - Dé v e l o pp e z u n e a p p li c at i o n
Les principales maquettes dont celle de la fenêtre de connexion ont été créées et la gestion des
événements a été traitée au chapitre précédent. Il s'agit dans celui-ci de mettre en place tous les
contrôles nécessaires avant d'autoriser l'accès à l'application. Simultanément, il faut gérer l'accès
au serveur et à la base de données en prenant en compte les problèmes possibles de connexion.
2.
Paramètres de connexion
f Créez dans le package entite une classe nommée Parametres.
La classe Parametres contient toutes les informations utiles à la connexion :
Le nom.
- Le mot de passe.
- La chaîne de connexion au serveur.
- La chaîne pour l’utilisation du pilote.
-
f Saisissez les attributs de la classe.
o
package entite;
public class Parametres {
private String nomUtilisateur;
private String motDePasse;
private String serveurBD;
private String driverSGBD;
}
Afin de respecter le principe d’encapsulation, les attributs sont déclarés private et ne sont accessibles que par les accesseurs et mutateurs qui eux sont déclarés public.
© Editions ENI - Toute reproduction interdite
193
Java et NetBeans - Développez une application
f Placez le curseur après le dernier attribut et faites un saut de ligne.
f Demandez à NetBeans de générer les Getters et les Setters en passant soit par le menu,
Source - Insérer du code, soit avec le raccourci-clavier [Alt][Inser].
f Dans la boîte de dialogue, cochez la case Parametres puis cliquez sur le bouton Generate.
NetBeans génère le code correspondant.
o
public String getDriverSGBD() {
return driverSGBD;
}
public void setDriverSGBD(String driverSGBD) {
this.driverSGBD = driverSGBD;
}
public String getMotDePasse() {
return motDePasse;
}
public void setMotDePasse(String motDePasse) {
this.motDePasse = motDePasse;
}
public String getNomUtilisateur() {
return nomUtilisateur;
}
public void setNomUtilisateur(String nomUtilisateur) {
this.nomUtilisateur = nomUtilisateur;
}
194
© Editions ENI - Toute reproduction interdite
Connexion
public String getServeurBD() {
return serveurBD;
}
public void setServeurBD(String serveurBD) {
this.serveurBD = serveurBD;
}
Les mutateurs permettent de modifier les paramètres par défaut. Ceci implique une gestion plus
fine des utilisateurs. Seuls l’administrateur ou le concepteur devraient alors pouvoir effectuer les
modifications concernant le driver et la base de données. Pour faire simple, ils ne sont pas utilisés
dans le projet.
Après les accesseurs et les mutateurs, passons au constructeur. Nous pouvons le saisir directement mais nous allons à nouveau solliciter l’IDE juste pour découvrir une nouvelle manière de
procéder.
f Placez le curseur après le dernier attribut et faites un saut de ligne.
f Appuyez sur les touches [Alt][Inser] et choisissez Constructor.
Il est possible également d’effectuer un clic droit à l’endroit de l’insertion puis de choisir dans
le menu contextuel Insérer du code.
Pour faire simple, le nom de l'utilisateur et le mot de passe sont uniques. Les paramètres concernant le pilote, le serveur et la base de données proviennent de l'installation réalisée pour le SGBDR
MySQL (cf. chapitre Base de données).
une exploitation réelle, ne jamais mettre en clair le mot de passe. Le cryptage peut être
lPour
réalisé soit au niveau de MySQL soit au niveau de l’application.
© Editions ENI - Toute reproduction interdite
195
Java et NetBeans - Développez une application
f Ne cochez aucune case, cliquez sur le bouton Generate.
f Complétez vous-même le constructeur avec les valeurs attendues.
o
// constructeur
public Parametres () {
nomUtilisateur = "root";
motDePasse = "tempo";
driverSGBD = "org.gjt.mm.mysql.Driver";
serveurBD = "jdbc:mysql://localhost/xelfi";
}
D’autres modifications de cette classe sont possibles :
La déclarer final : elle ne peut être instanciée. L’accès aux membres est réalisé selon la syntaxe
classe.accesseur et s’effectue directement sans recherche dynamique lors de la compilation.
- Déclarer ses attributs static et les initialiser : elle peut être instanciée mais les instances de la
classe ne possèdent pas les attributs. L’accès peut être réalisé de la même manière lors de la
compilation ou selon la syntaxe objet.accesseur, l’accès aux attributs se faisant alors de
manière dynamique.
-
3.
Connexion au serveur et à la base de données
En premier lieu, pour que l'application Java puisse communiquer et travailler avec la base de
données MySQL, elle doit disposer de la librairie du pilote de type 4 que nous avons retenue
(cf. chapitre Base de données).
f Effectuez un clic droit sur le projet puis choisissez Propriétés - Librairies.
196
© Editions ENI - Toute reproduction interdite
Connexion
f Vérifiez que le chemin pour le jar est bien un chemin relatif. Il ne doit pas commencer par une
unité de stockage comme par exemple « C:\ ». Si c’est le cas, supprimez le fichier jar et procédez à une nouvelle importation avec un chemin relatif.
Nous allons créer une classe de type contrôle qui aura pour mission de réaliser les tâches suivantes :
L'importation des classes de l’API JDBC.
- La gestion des exceptions.
- La gestion des méthodes statiques.
-
De nombreuses classes de type contrôle seront créées durant le développement. Pour conserver
une organisation claire et structurée nous allons créer des sous-packages au package controle.
f Effectuez un clic droit sur le package controle et choisissez Nouveau - Java Package.
f Nommez-le controle.connection.
© Editions ENI - Toute reproduction interdite
197
Java et NetBeans - Développez une application
f Créez une nouvelle classe nommée ControleConnexion.
f Déclarez cette classe abstract car elle n’aura pas d’instances.
o
package controle.connection;
public abstract class ControleConnexion {
}
f Ajoutez les importations :
Pour la connexion.
Pour établir le lien avec la classe Parametres.
- Pour l'affichage des boîtes de dialogue.
- Pour les tests en mode console.
-
o
import
import
import
import
import
import
import
198
com.mysql.jdbc.Connection;
com.mysql.jdbc.Statement;
entite.Parametres;
java.sql.DriverManager;
java.sql.ResultSet;
java.sql.SQLException;
javax.swing.JOptionPane;
© Editions ENI - Toute reproduction interdite
Téléchargement