JDBC Présenter par: Mouctar Souleymane Bah Enseignent: Dr Amer Draâ

Slides:



Advertisements
Présentations similaires
Réaliser en Java un programme client d’une Base de Données
Advertisements

Mise en œuvre de l’informatique décisionnelle
Exposé de Système - Informatique et Réseau
51 Les technologies XML Cours 6 : XML et les architectures N-tiers – Tier Métier Janvier Version 1.0 -
Les Bases de données et le Web
MIKHAYLOVA Vera Exposé Java principe de fonctionnement Lundi 17 mai 2004 DEUG 1ère année Science du langage Paris III.
Stéphane Frenot - Département Télécommunication - SID - II - Jdbc 280 JDBC Java Databases Connectivity.
PHP mySQL Extension php_mysql. Connexion à une base de données Établir une connexion mysql_connect(string server, string username, string password) –permet.
UV JDBC Module Java Expert
TP 3-4 BD21.
Programmation dapplications Bases de données avec Java INT.

Introduction à la POO: Les classes vs les objets
Connexion base de données
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Développement d’applications web
UNIVERSITE CHOUAIB DOUKKALI Département des mathématiques
Middleware : XML-DBMS Permet de faire office d’interface entre des données XML et des bases de données relationnelles (insertion et récupération de données)
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
JDBC Java Data Base Connectivity. Java DataBase Connectivity (JDBC) Cette API est développée par Sun en collaboration avec les grands éditeurs de SGBD.
Gestion des systèmes d’information
1 Développement des Applications des Bases de Données Chapitre 6.
Connexion en mode application. Bases de données - Yann Loyer2 Connexion en mode application Pour tout type dutilisateurs : –passif, actif, gérant Permettre.
Accès aux données généralisé SQL est presque une solution! Le problème: Le SQL n'est pas une langue complète, et doit être intégré dans un langage de programmation.
JDBC ou comment manipuler une base de données en Java ?
Les instructions PHP pour l'accès à une base de données MySql
BERNARDIN Benoît Lycée Louis Pergaud
Principes de programmation (suite)
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
L’utilisation des bases de données
Gestion des bases de données
Services fournis par le SI et technologies associées
1 Développement des Applications des Bases de Données Chapitre 6.
Module 2 : Préparation de l'analyse des performances du serveur
1 CSI 2532 Lab6 Application Web et DB Février 27, 2012.
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Sandrine BUENDIA Guillaume GALLET.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
‘‘Open Data base Connectivity‘‘
Juin 2006~ Brigitte Groléas ~ 1 J530 (JBD) Java : Base de Données.
PHP 5° PARTIE : LES COOKIES
Cours n°4M2. ESCE (S. Sidhom) Séminaire ( 6-12 Février 2007 ) Promo. M2 ESCE-Tunis 2006/07 Conception d’un système d'information sur Internet Architecture.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Masters IIGLI et ILGII – Intranet internet extranet – – Claude Montacié 1 Cours n° 10 Accès distant aux bases de données.
Les sockets.
Le Langage SQL Introduction. 2 Historique du Langage SQL E. F. CODD : premiers articles dans les années 70 IBM crée le langage SEQUEL (Structured English.
 Formulaires HTML : traiter les entrées utilisateur
Master 1 SIGLIS Intégration des données dans l’entreprise Stéphane Tallard JDBC: Java Database Connectivity Master 1 SIGLIS1JDBC.
Initiation au JavaScript
Amandine SOURY Bertrand DUCOULOMBIER Formation Java J2EE - Décembre Projet final de la formation Infotel : Gestion des cartes grises Formation.
Initiation au web dynamique Licence Professionnelle.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 2 – Java Premiers pas Master 1 SIGLIS1 Java Lecteur - Chapitre 2 - Java Premiers Pas.
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
JDBC - p. 1 JDBC. JDBC - p. 2 Objectifs Fournir un accès homogène aux SGBDR Abstraction des SGBDR cibles Requêtes SQL Simple à mettre en oeuvre Core API.
Les vues Une vue: c’est une relation virtuelle. Définie par:
02/06/2015© Robert Godin. Tous droits réservés.1 5 Interface entre SQL et un programme n SQL incomplet n Défaut d'impédance (impedance mismatch) – modèle.
Serveurs Web à contenu dynamique Emmanuel Cecchet INRIA Rhône-Alpes, Projet Sardes Rice University, Systems lab
Interface Java – Oracle : JDBC. I-2 JDBC (Java DataBase Connectivity) : interface API (Application Programming Interface) qui permet d’exécuter des ordres.
JDBC (Complément de cours) IFT 3030
Séance /10/2004 SGBD - Approches & Principes.
22 Concepts de base du langage Java. 2-2 Objectifs A la fin de ce cours, vous serez capables de : Identifier les éléments essentiels de Java Identifier.
Introduction Module 1.
PRÉSENTATION AGL LES TESTS LOGICIELS LES TEST LOGICIELS 1 Mickael BETTINELLI Brandon OZIOL Gaétan PHILIPPE Simon LUAIRE.
Java Réalisé par: Mouna POKORA. PLAN: Définition : Historique: Caractéristiques: un langage orienté objet: un langage interprété : un langage portable:
JDBC - Y. Bekkers1 Java et les SGBDR Librairies JDBC Yves Bekkers.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Transcription de la présentation:

Université Mentouri Constantine Département Informatique Option: STIC Master2 JDBC Présenter par: Mouctar Souleymane Bah Enseignent: Dr Amer Draâ Le 05/11/2012

Sommaire I. Introduction II. Définition III. Architecture logiciel IV. Types de pilotes V. Structure d’un programme JDBC VI. Classes de l’API JDBC VII. Connexion à une base de données VIII. L’accès à la base de données IX. Un exemple de code complet X. Conclusion

I. Introduction Incontournable dans le monde de l’informatique, les bases de données sont le moteur de toute application ayant à traiter et sauvegarder beaucoup d’information. Java se devait d’implémenter une interface digne de ce nom et c’est chose faite depuis l’été 1996 avec le kit JDBC. Depuis, le travail acheminé de Sun a permis l’intégration complète des bases de données dans les kits fournis par l’éditeur. Architecturé autour du langage SQL, JDBC possède des atouts qui font de Java, un langage idéal pour la connectivité aux BD.

II. Définition JDBC (Java DataBase Connectivity)est une API Java (ensemble de classes et d'interfaces défini par SUN et les acteurs du domaine des BD) permettant d'accéder aux bases de données à l'aide du langage Java via des requêtes SQL. Cette API permet d'atteindre de manière quasi-transparente des BDs : Sybase, Oracle, MySQL, ... avec le même programme Java JDBC.

III Architecture logiciel

IV. Types de pilotes Les pilotes de classe 1 et 2 sont dits natifs car ils utilisent une partie écrite dans du code spécifique non Java (souvent en langage C). Ces pilotes sont rapides mais doivent être présent sur le poste client car se sont des librairies dynamiques. Les pilotes de classe 3 et 4 sont dits 100% Java car ils interrogent le gestionnaire de base de données avec du code uniquement écrits en Java. Ces pilotes peuvent alors être utilisés par des applets dans des browsers classiques.

V. Structure d'un programme JDBC Recherche et chargement du driver approprié à la BD. Syntaxe : Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");   Etablissement de la connexion à la base de données. Syntaxe : Connection conX = DriverManager.getConnection (...); Construction de la requête SQL Syntaxe : Statement stmt = conX.createStatement(); Envoi de cette requête et récupération des réponses Syntaxe: ResultSet rs = stmt.executeQuery("SELECT a, b, c ... FROM ... WHERE ..."); Parcours des réponses. Syntaxe : while (rs.next()) { Traitement } fermeture de la connexion. Syntaxe : conX.close () ;

VI. Classes de l’API JDBC Toutes les classes de JDBC sont dans le package java.sql. Il faut donc l'importer dans tous les programmes devant utiliser JDBC. Exemple : import java.sql.* ;

VII. Connexion à une base de données Chargement du pilote : Il faut tout d'abord charger le pilote JDBC qui fait le lien entre la BD et l’application et peut être chargée en appelant la méthode de classe forName de la classe java.lang.class. Exemple : Chargement du pilote Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver"); L'établissement de la connexion: Pour se connecter à une base de données, il faut instancier un objet de la classe Connection en lui précisant sous forme d'URL la base à accéder. La syntaxe URL peut varier d'un type de base de données à l'autre mais elle est toujours de la forme : protocole:sous_protocole:nom. Exemple : Connection con = DriverManager.getConnection(url, "myLogin", "myPassword");

VIII. L'accès à la base de données L'exécution de requêtes SQL : Les requêtes d'interrogation SQL sont exécutées avec les méthodes d'un objet Statement que l'on obtient à partir d'un objet Connection. Un objet de la classe Statement permet d'envoyer des requêtes SQL à la base. La création d'un objet Statement s'effectue à partir d'une instance de la classe Connection : Exemple : Statement stmt = con.createStatement(); Pour une requête de type interrogation (SELECT), la méthode à utiliser de la classe Statement est executeQuery(). Pour des traitements de mise à jour et de type DDL (Data Definition Langage : définition de données) il faut utiliser la méthode executeUpdate(). Exemple: ResultSet rs = stmt.executeQuery("SELECT * FROM LivrePapier");

VIII. L'accès à la base de données Classe ResultSet: C'est une classe qui représente une abstraction d'une table qui se compose de plusieurs enregistrements constitués de colonnes qui contiennent les données. Les principales méthodes pour obtenir des données sont :

IX. Un exemple de code complet import java.sql.*; public class Exemple_JDBC { public static void main(String[] args) throws SQLException { Connection con; Statement stm; ResultSet resultat; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbc:odbc:livre"); System.out.println("Connexion établie"); stm=con.createStatement(); stm.executeUpdate("CREATE TABLE LivrePapier(nom STRING" + ", isbn INT,auteur STRING, annee INT,editeur STRING)"); stm.executeUpdate("insert into LivrePapier(nom,isbn,auteur,annee,editeur)values('PHP & mysql','42486','Djongassy','2001','Edition bleu')"); stm.executeUpdate( "insert into LivrePapier(nom,isbn,auteur,annee,editeur)values('Synthèse dimage','486','Souleymane','2000','Edition bleu')"); stm.executeUpdate( "insert into LivrePapier(nom,isbn,auteur,annee,editeur)values('Sytème complexe','19786','Monsieur Elvis','2008','Edition bleu')"); stm.executeUpdate( "insert into LivrePapier(nom,isbn,auteur,annee,editeur)values('Montage video','2486','Monsieur Simbabawe','2010','Edition bleu')"); Charge le driver Etablit la connexion Création de l’objet Statement Création table Insertion des données

L’utilisation de Resultset //Récupère les données resultat=stm.executeQuery("select * from LivrePapier"); ResultSetMetaData rsmd = resultat.getMetaData(); //Affichage des données for ( int i = 1; i <= rsmd.getColumnCount(); i++ ) System.out.print( "\t" + rsmd.getColumnName(i).toUpperCase() + "\t *"); System.out.println("\n******************************************************************************************************"); while(resultat.next()) { System.out.print( "\t" + resultat.getObject(i).toString() + "\t|"); System.out.println("\n---------------------------------------------------------------------------------------------------"); } //stm.executeUpdate("DROP TABLE LivrePapier"); resultat.close(); stm.close(); con.close(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); L’utilisation de Resultset Affichage des données Suppression de la table Fermeture de la connexion

X. Conclusion Les programmes développés en Java avec JDBC sont entièrement portables et peuvent fonctionner sur n’importe quel ordinateur disposant de l’environnement Java. Quelle que soit le type de BD, les programmes écrits avec JDBC fonctionneront, quasiment sans modification du code. Un programme écrit pour accéder aux données sur un serveur SQL Server de Microsoft fonctionnera également sur base Oracle. JDBC propose plusieurs niveaux de drivers JDBC permettant d’offrir une compatibilité maximum avec des applications existantes tout en acceptant la présence de code non java. C’est le cas de l’interface ODBC

Bibliographie www.jmdoudoux.fr/java/dej/chap-jdbc.htm http://cuiwww.unige.ch/~bonjour http://java.sun.com/docs/books/tutorial/jdbc/ http://java.sun.com/products/jdk/1.3/docs/guide/jdbc/index.html http://java.sun.com/products/jdk/1.3/docs/guide/jdbc/getstart/GettingStartedTOC.fm.html les Cahiers du programmeur Java1.4 et 5.0 3e édition Emmanuel PUYBARET édition EYROLLES

Merci de votre attention