JDBC: manipuler une base de données en Java IFT6800 – E 2007 Jian-Yun Nie.

Slides:



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

Réalisé par Frédéric TRAN
Langage de manipulation de données Ensemble de commandes permettant : – modifier la base : ajout, modification et suppression – interroger la base ex :
IChannelIPrivilegedIMultithreadedIServantICacheableIMimeResponse Type custom : les interfaces de programmations IChannel : canal standard, stateful 5 méthodes.
DOM Document Object Model. Généralités Standard du W3C Parseur XML – Génération dun arbre dobjet – Construction totale de larbre DOM est spécifié en IDL.
SAX Simple API for XML. Généralités API non standard développé par les membres du forum XML-DEV Parseur XML – Orienté événement – Parsing dynamique SAX.
Arbres Un premier exemple Contenu Rendu Ecouteurs Parcours
Plan du cours 5:Threads introduction Définition Création des Threads
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
Architecture Web. Accès aux données Développement spécifique Conserver l'architecture classique en y insérant un système propriétaire SapphireWeb, ColdFusion,
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
Programmation dapplications Bases de données avec Java INT.
Georges Gardarin 1 LE LANGAGE DE REQUETES SQL l Origines et Evolutions l SQL1 86: la base l SQL1 89: l'intégrité l SQL2 92: la nouvelle norme l SQL3 98:
Windows XP Professionnel
Windows XP Professionnel
Integration serveur Data Access Layer Web Service Service1.asmx BankAccess FinanceAccess CLIENTS Business Logic Layer Finance Portfolio SOURCE DE DONNEES.
Les entrées /sorties en Java François Bonneville
Enesys RS Data Extension
Connexion base de données
Chapitre IV Object, interfaces, classes imbriquées.
BlueJ_XI 1 Java, les objets : tout de suite ! Gestion des erreurs : les exceptions Notes de cours associées au chapitre 11 tutorial BlueJ
Techniques Internet de Base Licence 2 (Info, Maths, PC/PA) Université Jean Monnet Ruggero G. PENSA
10 Copyright © Oracle Corporation, Tous droits réservés. Autres concepts relatifs aux déclencheurs.
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.
1 Développement des Applications des Bases de Données Chapitre 6.
JDBC ou comment manipuler une base de données en Java ?
Architecture Logicielle Les supports d’applications
1 Développement des Applications des Bases de Données Chapitre 6, Sections
Introduction à la programmation (Java)
Le patron de conception « Strategy » Simon Durocher ( )
Programmation par Objets et Java
1 LE LANGAGE DE REQUETES SQL Origines et Evolutions SQL1 86: la base SQL1 89: l'intégrité.
SQL Injection Réalisée par: BEN NASR Houssem GMATI Idriss HADDAD Mohamed Aymen HAKIM Youssef.
ADOBE FLEX 4. © Logica All rights reservedNo. 2 Introduction Flex en action Autour de Flex Logica Le programme.
Programmation Orienté Objet Application Au Langage JAVA Licence professionnelle ATC ~ 07/08 Bessem BOURAOUI
Introduction au WebMapping
PLSQL ORACLE 8i Connecter VB à BD Oracle Les collections Question de révision Les blocs anonymes Les triggers REVISION Par : Joël Huot.
1 Développement des Applications des Bases de Données Chapitre 6.
1 CSI 2532 Lab5 Installation de JDBC Février 13, 2012.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Développement des Applications des Bases de Données Chapitre 6, Sections
IFT1025: Programmation 2 Internet Jian-Yun Nie. Concepts Communication sur lInternet Connexion dans Java.
Multi-Thread Jian-Yun Nie
Exceptions IFT1025: Programmation 2 Jian-Yun Nie.
Cours 11 Threads. Chapitre X threads threadPOO-L3 H. Fauconnier3 Threads threads: plusieurs activités qui coexistent et partagent des données exemples:
COURS DE PROGRAMMATION ORIENTEE OBJET :
CSI1502 Principes fondamentaux en conception des logiciels Chapter 8: Gestion des exceptions.
Fabienne Boyer Laboratoire LIG (INRIA-UJF-INPG) Projet SARDES, INRIA Rhône-Alpes Usage.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
‘‘Open Data base Connectivity‘‘
SQL Partie 2. SQL est un Langage de Manipulation de Données SQL est un langage de manipulation de données (LMD), cela signifie qu'il permet de sélectionner,
Juin 2006~ Brigitte Groléas ~ 1 J530 (JBD) Java : Base de Données.
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.
Masters IIGLI et ILGII – Intranet internet extranet – – Claude Montacié 1 Cours n° 10 Accès distant aux bases de données.
 Requêtes MySQL en PHP Introduction
Gestion d’accès aux centrales nucléaires françaises
Master 1 SIGLIS Intégration des données dans l’entreprise Stéphane Tallard JDBC: Java Database Connectivity Master 1 SIGLIS1JDBC.
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.
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.
Interface Java – Oracle : JDBC. I-2 JDBC (Java DataBase Connectivity) : interface API (Application Programming Interface) qui permet d’exécuter des ordres.
JDBC Présenter par: Mouctar Souleymane Bah Enseignent: Dr Amer Draâ
JDBC (Complément de cours) IFT 3030
JDBC - Y. Bekkers1 Java et les SGBDR Librairies JDBC Yves Bekkers.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Transcription de la présentation:

JDBC: manipuler une base de données en Java IFT6800 – E 2007 Jian-Yun Nie

Intermédiaire JDBC: Java database connectivity –Cette API à était développée par SUN pour permettre à des applications Java d'accéder à des bases de données relationnelles quelconques. Les étapes principales –Se connecter à une base de données –Envoyer une requête SQL –Manipuler le résultat JDBC: un driver (pilot) fournissant des outils pour ces fonctions

Préparatif Installer un driver JDBC –E.g. SQL server 2000 de Microsoft –pont ODBC/JDBC (Open DataBase Connectivity)

Étape 1: charger le pilote Charger le pilote (driver) –Pilote: contient toutes les classes nécessaire pour communiquer avec une base de données –il faut utiliser la méthode forName de la classe Class –E.g. SQL Server 2000: Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); Pont ODBC-JDBC Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); –Cette méthode charge en mémoire la classe demandée et exécute son éventuel bloc static. static { BaseDriver.registerDriver(new SQLServerDriver()); } –Pour que cela fonctionne, il faut définir la variable denvironnement CLASSPATH pour inclure le répertoire contenant les classes du driver

Étape 2: établir une connexion Pour établir la connexion avec SQL Server, il faut préciser –le nom de la machine (ou son numéro IP), –le port où le service SQL est démarré (quasiment toujours 1433), –le nom de la base de données, –le login utilisé ainsi que son mot de passe. try { String strClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; String strUrl = "jdbc:microsoft:sqlserver://hostname:1433;" + "user=sa;password=pass;DatabaseName=dbName"; Class.forName(strClassName); Connection conn = DriverManager.getConnection(strUrl); //... conn.close(); } catch(ClassNotFoundException e) { System.err.println("Driver non chargé !"); e.printStackTrace(); } catch(SQLException e) { //... } Charger le pilote Établir la connexion opérations

Étape 2: établir une connexion Établir la connexion avec MySQL –DriverManager: la méthode statique getConnection va créer un objet de connexion –Paramètre: le protocole et le sous-protocole: jdbc:odbc:DsnName DSN (Data Source Name) Connection conn = null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection("jdbc:odbc:DsnName"); //... conn.close(); } catch(ClassNotFoundException e) { System.err.println("Driver non chargé !"); e.printStackTrace(); } catch(SQLException e) { //... }

Étape 3: Requête SQL Lexécution dune requête SQL passe par l'utilisation d'une classe, spécifique au pilote utilisé, implémentant l'interface Statement Un objet de type Statement se doit d'être adapté à la base manipulée. JDBC ne fournit que l'interface Statement, qui est implantée par différentes classes dans un pilote Obtenir un objet Statement: avec la méthode createStatement.

Exemple try { String strClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; String strUrl = "jdbc:microsoft:sqlserver://hostname:1433;" + "user=sa;password=pass;DatabaseName=dbName"; String strInsert = "INSERT INTO T_Users " + "(Login, Password, ConnectionNumber) " + "VALUES ('Toto', 'Titi', 0);"; Class.forName(strClassName); Connection conn = DriverManager.getConnection(strUrl); Statement stAddUser = conn.createStatement(); stAddUser.executeUpdate(strInsert); conn.close(); } catch(ClassNotFoundException e) { //... } catch(SQLException e) { //... } Créer un Statement Exécuter un ordre SQL

Exécuter une requête SELECT l'ordre SQL "SELECT * FROM T_Users;" L'appel à "executeQuery" renvoie au final un objet de type ResultSet try { String strClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; String strUrl = "jdbc:microsoft:sqlserver://hostname:1433;" + "user=sa;password=pass;DatabaseName=dbName"; String strQuery = "SELECT * FROM T_Users;"; Class.forName(strClassName); Connection conn = DriverManager.getConnection(strUrl); Statement stLogin = conn.createStatement(); ResultSet rsLogin = stLogin.executeQuery(strQuery); //... Utilisation du ResultSet... conn.close(); } catch(ClassNotFoundException e) { //... } catch(SQLException e) { //... } requête Exécuter la requête et stocker le résultat

Manipuler le résultat On peut identifier chaque colonne de la base de donnée –Par son index –Par son nom String strQuery = "SELECT * FROM T_Users;"; ResultSet rsUsers = stUsers.exexcuteQuery(strQuery); while(rsUsers.next()) { System.out.print("Id[" + rsUsers.getInt(1) + "]" + rsUsers.getString(2) + "[" + rsUsers.getString("Password") + "] " + rsUsers.getInt("ConnectionNumber") ); } rsUsers.close();

Plusieurs mode de parcours st = conn.createStatement(type, mode); Type == ResultSet.TYPE_FORWARD_ONLY ResultSet.TYPE_SCROLL_SENSITIVE ResultSet.TYPE_SCROLL_INSENSITIVE Mode == ResultSet.CONCUR_READ_ONLY ResultSet.CONCUR_UPDATABLE

Modifier le résultat ou la base Se positionne sur le premier enregistrement –rsUsers.first(); Ou avancer jusquà lélément voulu Modifie la valeur du Password dans le résultat –rsUsers.updateString("Password", "toto"); Pour appliquer les modifications dans la base de données: –rsUsers.updateRow();

Autres opérations Stocker une procédure Gérer des transactions …

Récapitulation du cours Les éléments pour faire fonctionner un programme –Matériels: mémoire, CPU, bus, registres, disque, périphériques, … –Système dexploitation: gérer les matériels, outils de base pour télécommunication, gestion et manipulation de fichiers, … –Applications: base de données, programme dutilisateur –Communication entre des applications et entre des ordinateurs Protocole Connexion et transfert

Schéma typique Programmation –Un programmeur écrit un programme en un langage (Java) –Compilation, tests… –Livraison à lutilisateur Utilisation –Sur Ordinateur 1, on installe lenvironnement approprié Système dexploitation Les outils nécessaires pour lexécution du programme (éventuellement un compilateur) Connexion Internet … –un utilisateur lance un programme Ce programme est exécuté Éventuellement –accéder aux données sur le disque –Demander des données à lutilisateur –Demander à connecter à un serveur –Demander des informations du serveur –Traiter des information –Écrire sur le disque, dans une base de données ou sur le serveur –Affichage à lutilisateur –…