WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception et réalisation d'une application Java Card pour la recherche de billet d'avion le moins cher

( Télécharger le fichier original )
par Etudiants fin de cycle ingénieur Etudiants fin de cycle ingénieur
Université Mouloud Mammeri Tizi Ouzou Algérie - Ingénieur informatique 2008
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

3. Présentation et utilisation du JDBC

JDBC (Java Data Base Connectivity) permet l'accès à des bases de données créées dans des SGBD variés, depuis un programme en Java. Il est fourni par le paquetage (package) java.sql.

L'API JDBC est presque totalement indépendante des SGBD (quelques méthodes ne peuvent être utilisées qu'avec certains SGBD mais ne doivent être utilisées qu'en cas de nécessité impérieuse pour améliorer les performances).

JDBC : C'est un intermédiaire entre le programme java et le SGBD choisi, il permet un accès :

Ø Local ou à distance, à une base de données relationnelle.

Il fonctionne selon un principe Client/Serveur, où

Ø Le Client = le programme Java, et

Ø Le Serveur = la base de données.

Principe général :

Ø Le programme Java ouvre une connexion avec le SGBD ;

Ø Il envoie des requêtes SQL ;

Ø Il récupère les résultats ;

Ø Il met à jour la BD ;

Ø Il ferme la connexion.

Contenu de java.sql :

Ce paquetage contient un grand nombre d'interfaces et quelques classes. Les interfaces constituent l'interface de programmation. JDBC ne fournit pas les classes qui implantent les interfaces.

Drivers :

Pour travailler avec un SGBD, il faut disposer de classes qui implantent les interfaces de JDBC.

Un ensemble de telles classes est désigné avec le nom de driver JDBC. Les drivers dépendent du SGBD auquel ils permettent d'accéder.

Architecture de JDBC :

Types de drivers :

Type 1: pont JDBC-ODBC

Type 2: driver qui fait appel à des fonctions natives non Java (le plus souvent en langage C) de l'API du SGBD que l'on veut utiliser.

Type 3: driver écrit entièrement en Java qui utilise le protocole réseau du SGBD

Remarque :

Dans ce qui suit, nous donneront des détails sur la configuration et l'utilisation du Driver JDBC- MySQL pour une base de données sous MySQL EasyPHP 1.8

Utilisation de JDBC :

Pour le cas pratique nous utiliserons :

Ø MySQL inclus dans EasyPHP 1.8 :

Pour la création de la base de données ;

Ø Le JDK : jdk-6u6-windows-i586-p.exe:

Pour l'execution de notre programme.

Ø Le driver JDBC : MySQL-connector-java-3.0.15-ga :

Pour l'exploitation de la base de données.

4. La création de la base de données MySQL:

Pour des raisons d'organisation, on se limite à une base de données qui contient une seule table qui sera Nommée «VolMoinsCher ». Notre base aura pour nom « tp3bd»; pour cela, on a utilisé EasyPHP1.8.

Voici un aperçu de ce que peut être notre base :

Nom de la base Nom de la table

Les champs et les

Données de la table

A partir du programme java on va accéder à la table VolsMoinsCher en consultation a travers la requête suivante :

`'SELECT Num_Vol, Dat_Vol, Heur_Vol, Tarif_Vol FROM VolMoinsCher''.

Pour plus de détails concernant la création des bases de données sous MySQL reportez-vous au Tutoriel «EasyPHP-MySQL » qui est aussi réalisé dans le cadre de ce TP.

1. Le JDK : reportez-vous à la première section.

2. Le driver JDBC :

Dans ce qui suit, on va vous montrer comment configurer le driver JDBC pour pouvoir l'utiliser dans le programme java ;

Ø Copier le fichier « mysql-connector-java-3.0.15-ga » dans un répertoire de votre choix

Dans notre cas, on le met dans le répertoire où est installé le jdk :

Ø On passe à la configuration de la variable d'environnement « ClassPath » pour pouvoir compiler les programmes qui utilisent ce Driver.

1- Bouton droit sur poste de travail :

2 -Choisissez l'onglet Avancé :

Cette figure apparait 

Propriétés

3-Puis cliquer sur variable d'environnements :

4-la fenêtre Variable d'environnements apparait :

Variable d'environnement

du JDK.

Cliquer sur Nouveau.

5-Saisissez dans le champ

« Nom de la

variable » :ClassPath.

Dans le champ « Valeur

de la variable » on écrit :

«' . ; ` + chemin + ';' ».

· + : symbole de concaténation.

· Chemin : est le chemin vers le répertoire ''mysql-connector-java-3.0.15-ga'' concaténé avec

le nom du fichier exécutable  Jar après un antislash bien sûr.

Pour bien comprendre cette écriture procédez comme suit :

Allez dans le répertoire jdbc ;

Entrez dans le répertoire ''mysql-connector-java-3.0.15-ga.

Copier le chemin qui apparait dans le champ adresse comme le montre la figure suivante :

Copiez ce chemin

Dans ce répertoire vous trouverez le fichier qui a l'indication : « Exécutable Jar File », copiez son nom.

En résumé : Dans notre cas « chemin » sera égal a : Il ne faut pas oublier l'antislash

 «  .; C:\Program Files\Java\jdbc\mysql-connector-java-3.0.15-ga \ mysql-connector-java-3.0.15-ga-bin.jar ; » 

Chemin vers le dossier le nom du fichier

Copiez le tout dans le champ  « Valeur de la variable »

ü puis appuyez sur ok ;

ü Appuyez une autre fois sur ok  pour quitter la fenêtre `' Variables d'environnements'';

ü Appuyez une dernière fois sur ok pour ; quitter la fenêtre `'Propriétés système `'.

2. Utilisation de JDBC

Il ne nous reste à présent qu'à décrire les différents fragments du code qui nous permettent la connexion à notre base de données.

.1 Déclaration du pilote JDBC :

Notez l'instruction qui importe

L'API JDBC-SQL

Ø L'appel à la classe forName déclenche un chargement dynamique du pilote.

Ø Un programme peut utiliser plusieurs pilotes, un pour chaque base de données.

2.2 Connexion à la base de données :

Voila le code de connexion à la base : Nom de la base

La connexion à la base se fait à l'aide de la méthode getConnection (p1, p2, p3), membre de la classe DriverManager. Elle est appelée avec trois paramètres qui sont :

Ø p1 : L'adresse ou se trouve la base de données.

Ø p2 = `'root `': Le nom de l'administrateur de la base.

Ø p3 : '' '' : le mot de passe, ici notre base n'a aucun mot de passe.

2.3 Les traitement des requêtes et l'affichage des résultats en JDBC :

Pour exécuter notre requête sur notre base de données a partir du programme java, on fait appel à la classe Statement, et à sa méthode membre executeQuery (String) avec comme unique paramètre notre requête SQL.

2.4 La classe java.sql.ResultSet

Une fois la requête est exécutée la classe ResultSet nous offre tous les moyens qui nous permettent de récupérer les données afin d'effectuer des éventuels traitements sur la base de donnée.

Dans notre exemple le résultat est récupéré dans la variable resultat, instance de la classe ResultSet, on peut imaginer son état comme suit :

Les champs apparaissent dans un ordre analogue à celui de la requête SQL

 

Num_Vol

Dat_Vol

Heur_Vol

Tarif_Vol

 

Resultat1

001/508

2008/06-08

10 :00 :00

11000

 

Resultat2

002/608

2008-06-17

08 :00 :00

12000

 

1 2 3 4

resultat.next()

La méthode next() permet de passer au tuple suivant (il existe aussi prior(),first(), last(), ...).

La méthode getXxxx (int p)  nous permet l'accès à la valeur d'un champ de l'enregistrement courant dans resultat, ce dernier étant spécifié par le paramètre p qui est l'ordre de l'apparition du champ dans la clause SELECT da la requête SQL. Quant à Xxxx c'est le type

Java correspondant au type du champ dans SQL.

Le tableau ci-dessus donne quelques types SQL est leurs correspondance en Java :

SQL

CHAR

VARCHAR

LONG VARCHAR

BIT

INTEGER

REAL

FLOAT

DATE

TIME

Java

String

String

String

boolean

Int

Float

double

Date

Time

4. Fermeture de la connexion :

Une fois qu'on terminé avec la base de données on doit fermer la connexion grâce à la méthode close (), membre de la classe Connection.

Voici la structure générale de notre exemple :

Essayons à présent de compiler et d'exécuter notre programme ;

Ouvrez une fenêtre MS-DOS. Voici le résultat de l'exécution :

Repertoire de travail

dir affiche le contenu d'un répertoire.

Notre programme est

Commande de compilation

Commande d'exécution

Resultat Affiché

Si notre requête SQL était :

`'SELECT Num_Vol, Dat_Vol, Heur_Vol, Tarif_Vol FROM VolMoinsCher

WHERE VolMoinsCher.Tarif_Vol < 12''.

Le résultat sera : Exécution précédente

Réexécution

Résultat affiché ;

Attention !!:

Veuillez respecter la hiérarchie suivante lors de l'installation des logiciels/matériels suivants :

1. JBuilder Foundation 2005.

2. Le lecteur de carte à puce (sans insérer le dongle)

3. GemXplore.

4. Insérer le dongle.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Le don sans la technique n'est qu'une maladie"