DEVOIR DE L’UE PROGRAMMATION ORIENTÉE OBJET 2 JAVA DATABASE CONNECTIVITY (JDBC)
DEVOIR DE L’UE PROGRAMMATION ORIENTÉE OBJET 2 JAVA DATABASE CONNECTIVITY (JDBC) Par : ➢ AMOU’OU AMOU’OU Georges ➢ AROGA Paule Simonne ➢ DJOUMESSI GUEPI Aurel ➢ NDIZE WANDJI Daren ➢ NKONGO Maximin Paul ➢ THEUBO Berger ➢ ZOE MEZUI ➢ KOUAGAN MIKE (4GI) ➢ MAHAMADOU HAMIDOU (4GI) Étudiants en 3e année Génie Informatique Sous la supervision de : M. BILLONG Ismael Année académique : 2021/2022 Page 1 sur 14 Table des matières Introduction ...................................................................................................................................... 2 I. Historique .................................................................................................................................. 2 II. Comment intégrer JDBC à un projet Java ? .......................................................................... 3 1. Trouver le pilote approprié .................................................................................................... 3 2. Ajouter le pilote au projet ...................................................................................................... 3 3. Ajouter les import nécessaires dans le code .......................................................................... 5 III. Utilisation de JDBC .............................................................................................................. 6 IV. Démonstration ....................................................................................................................... 9 1. Connection à la base de données ........................................................................................... 9 2. Vérification des informations de l’utilisateur lors de la connexion dans l’application ....... 10 3. Création d’un nouvel utilisateur .......................................................................................... 10 4. Mise à jour des informations d’un utilisateur ...................................................................... 11 5. Suppression d’un magasin ................................................................................................... 11 6. Visuel de l’application ........................................................................................................ 11 V. Recommandations ............................................................................................................... 13 Conclusion ...................................................................................................................................... 14 Références ...................................................................................................................................... 14 Page 2 sur 14 Introduction JDBC (Java Database Connectivity) est une interface de programmation (API) servant à se connecter et à communiquer avec les bases de données en Java. Elle permet aux applications Java d'accéder par le biais d'une interface commune à des sources de données pour lesquelles il existe des pilotes JDBC. Elle est très utilisée car la plupart des applications ont besoin de communiquer avec des bases de données. Des pilotes JDBC sont disponibles pour tous les systèmes connus de bases de données relationnelles. Dans la suite de ce document, nous allons présenter JDBC en passant par plusieurs points : son historique, son intégration et son utilisation dans un projet Java, une démonstration (application java concrète utilisant JDBC) et enfin les recommandations. I. Historique JDBC a été créée par Sun Microsystems — depuis racheté par Oracle Corporation — pour les programmes utilisant la plateforme Java. Sun Microsystems a publié JDBC comme composante du Java Development Kit (JDK) 1.1 le 19 février 1997. Depuis lors, il fait partie de la plate-forme Java, Standard Edition (Java SE). Les classes JDBC sont contenues dans les paquets Java java.sql et javax.sql. À partir de la version 3.1, JDBC a été développé dans le cadre du Java Community Process. Java Specification Requests (JSR) est un système normalisé ayant pour but de faire évoluer la plate- forme Java. Il y a eu plusieurs versions de JDBC jusqu’à nos jours : • JSR 54 définit JDBC 3.0 (inclus dans J2SE 1.4) • JSR 114 définit les ajouts jDBC Rowset • JSR 221 définit JDBC 4.0 (inclus dans Java SE 6). • JDBC 4.1, est spécifié par une première version de maintenance de JSR 221 et est inclus dans Java SE 7. • JDBC 4.2, est spécifié par une deuxième version de maintenance de JSR 221 et est inclus dans Java SE 8. • La dernière version, JDBC 4.3, est spécifiée par une troisième version de maintenance de JSR 221 et est incluse dans Java SE 9. Page 3 sur 14 II. Comment intégrer JDBC à un projet Java ? 1. Trouver le pilote approprié Pour intégrer JDBC à un projet Java, il faut ajouter le pilote JDBC correspondant à la base de données utilisée au projet. En effet, il existe un pilote spécifique selon la base de données utilisée (MySQL, SQL Server, Oracle, Postgres, etc.). Il s’agit d’un fichier .jar. Pour trouver le driver JDBC qu'il vous faut, une rapide recherche sur internet répondra à vos attentes, comme indiqué à la figure suivante (recherche du pilote pour Postgres). Figure 1 : Recherche du pilote JDBC sur internet On peut voir ci-dessous le pilote de connexion aux bases de données MySQL, appelé mysql- connector-java. Figure 2 : Le pilote JDBC pour la connexion à MySQL 2. Ajouter le pilote au projet Pour ce faire, on dispose de deux choix possibles : Page 4 sur 14 - Inclure le fichier .jar dans le projet et l'ajouter au CLASSPATH - Le placer dans le dossier lib/ext présent dans le dossier d'installation du JRE. La première méthode est la plus judicieuse si l’application est vouée à être déployée sur différents postes. Avec la deuxième méthode, il faudrait ajouter le pilote dans le JRE de chaque machine. Ci-dessous une description de la première méthode, dans l’IDE Eclipse : - Faites un clic droit sur votre projet et choisissez « Properties » Figure 3 : Ajout du pilote au projet dans Eclipse (1/2) Page 5 sur 14 - Une nouvelle fenêtre s’affiche. Dans le menu à gauche, cliquez sur « Java Build Path » et allez à l’onglet « Libraries ». - Cliquez sur le bouton « Add External JARs… » et sélectionnez le fichier .jar dans votre ordinateur. Une fois que c’est fait le nom du fichier s’ajoute dans la liste qui est au centre de la fenêtre. - Validez en cliquant sur le bouton « Apply and Close » La figure ci-après illustre quelques-unes des étapes listées ci-dessus. Figure 4 : Ajout du pilote au projet dans Eclipse (2/2) 3. Ajouter les import nécessaires dans le code Pour réaliser l’opération de base, qui est la connexion à la base de données, on a besoin des import suivants : import java.sql.Connection; import java.sql.DriverManager; Une fois que cela est fait, on peut commencer à utiliser JDBC. Page 6 sur 14 III. Utilisation de JDBC L’utilisation de JDBC pour effectuer des requêtes se fait généralement en 7 étapes standards : 1. Charger le pilote JDBC Pour charger un pilote, vous devez spécifier le nom de classe du pilote de base de données dans la méthode Class.forName. Ce faisant, vous créez automatiquement une instance du pilote et vous l'enregistrez avec le gestionnaire de pilotes JDBC. 2. Définir l'URL de connexion Dans JDBC, une URL de connexion spécifie l'hôte du serveur, le port et le nom de la base de données avec laquelle établir une connexion. Dans le cas du pilote MySQL, la structure d’une URL de connexion est la suivante, les éléments entre crochets étant optionnels : jdbc:mysql://[hote1:port1],[hote2:port].../[database][?propertyNa me1][=propertyValue1][&propertyName2][=propertyValue2]... Si l’hôte n’est pas spécifié, il vaut par défaut 127.0.0.1 (localhost). Si le port n’est pas spécifié, il vaut par défaut 3306. Exemple d’URL : "jdbc:mysql://localhost/gestion_magasin" Ici l’hôte c’est « localhost », le port c’est 3306 (par défaut) et la base de données à laquelle on se connecte s’appelle « gestion_magasin » 3. Établir la connexion. Avec l'URL de connexion, le nom d'utilisateur et le mot de passe, une connexion réseau à la base de données peut être établie : on crée un objet de type Connection qu’on initialise grâce à la méthode getConnection (voir exemple ci-après). NB : lorsqu’on travaille avec les bases de données, toujours mettre les instructions dans des try, catch car elles peuvent lever des exceptions. Page 7 sur 14 Exemple (début) : try{ Class.forName("com.mysql.jdbc.Driver"); //Chargement du pilote jdbc pour mysql // Class.forName("org.postgresql.Driver"); dans le cas de postgre // Class.forName("oracle.jdbc.driver.OracleDriver"); dans le cas de oracle // Class.forName("org.apache.cassandra.cql.jdbc.CassandraDriver"); dans le cas //de cassandra System.out.println("Driver O.K."); String url = "jdbc:mysql://localhost/gestion_magasin"; //url de connexion String user = "root"; //nom d’utilisateur String passwd = ""; //mot de passe //On étalit la connexion Connection conn = DriverManager.getConnection(url, user, passwd); } catch(Exception e){ e.printStackTrace(); } Une fois la connexion établie, les requêtes vers la base de données peuvent être effectuées jusqu'à ce que la connexion soit fermée. 4. Créez un objet Statement La création d'un objet Statement (ou PreparedStatement pour le cas des requêtes préparées) permet d'envoyer des requêtes et des commandes à la base de données. 5. Exécutez une requête ou une mise à jour Avec un objet Statement, vous pouvez envoyer des instructions SQL à la base de données en utilisant les fonctions execute, executeQuery, executeUpdate ou executeBatch. 6. Traitez les résultats Lorsqu'une requête de base de données est exécutée, un ResultSet est renvoyé. Le ResultSet représente un ensemble de lignes et de colonnes que vous pouvez traiter par des appels à next et à diverses méthodes getXxx. 7. Fermez la connexion Page 8 sur 14 Lorsque vous avez fini d'exécuter les requêtes et de traiter les résultats, vous devez fermer la connexion, libérant ainsi les ressources de la base de données. Exemple (suite et fin) : try { //création de la requête PreparedStatement prepare = conn.prepareStatement("SELECT * FROM utilisateurs WHERE nom = ?"); prepare.setString(1, nomUser); //nomUser est une variable contenant le nom ResultSet result = prepare.executeQuery(); //exécution de la requête //traitement du résultat if(result.next()) {System.out.println("L’id est : " + result.getInt("id"));} //fermeture de la connexion conn.close() ; } catch(Exception e){ e.printStackTrace(); } L’exemple qu’on vient de présenter est un cas d’utilisation avec MySQL. NB : On peut aussi utiliser JDBC avec une base de données NoSQL (non relationnelle), comme par exemple Cassandra. Ci-dessous un exemple : Connection conn = DriverManager.getConnection("jdbc:cassandra:root/root@localhost:9160/MyKeyspace"); boolean ret = stat.execute("SELECT * FROM CQL Queries"); ResultSet rs=stat.getResultSet(); while(rs.next()){ for(int i=1;i<=rs.getMetaData().getColumnCount();i++) { System.out.println(rs.getMetaData().getColumnName(i) +"="+rs.getString(i)); } } Page 9 sur 14 IV. Démonstration Nous avons réalisé uploads/Ingenierie_Lourd/ expose-poo2-sur-jdbc.pdf
Documents similaires










-
26
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jan 19, 2021
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 0.6887MB