cours-JDBC
18 pages
Catalan
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
18 pages
Catalan
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

Introduction à JD BC Accès au x bases dedonnées en JavaE ric C ariouUniversité de P au et des P ays de l' AdourDépartement Inform atiqueE ric.C ariou@univ-pau.fr1Introduction J DB C : Jav a Data B ase C onnectivity Fr amework permettant l'a ccès aux b ases de données relationnelles dans u n programme Jav a In dépendament du typ e d e la b ase u tilisée (my SQL, Oracle, Postgres .. .) Seule la phase de connexion au SG B DR change Permet de f aire tout type d e re quêtes Sélection de données dans des tables Créat ion de tables et insertion d'éléments dans les tables G estion des transactions Packages : java.sql e t javax.sql2Principes généraux d'accès à une BDD Première étape  Préciser le ty pe d e d river q ue l' on v eut u tiliser  Driv er permet de gérer l'accès à un type particulier de SG B D Deuxième é tape Récupérer u n o bjet « C onnection » e n s 'identifiant au près du S G B D e t e n p récisant l a b ase u tilisée E tapes suivantes A p artir d e l a c onnexion, c réer u n « sta tement » (état) correspondant à un e re quête p articulière E xécuter c e s tatement a u n iveau d u S G B D Fermer l e s tatement Dernière étape3 Se d éconnecter d e la b ase e n fe rmant l a c onnexionConnexion au SGBD C lasse java.sql.D riverManager G estion du contrôle et de la c onnexion a u S G BD Méthodes p rincipales static void r egisterDriver(D river driver) E nregistre l e driver (obj et driver) pour u n type de ...

Informations

Publié par
Nombre de lectures 90
Langue Catalan

Extrait

Introduction à JD BC
Accès au x bases de
données en Java
E ric C ariou
Université de P au et des P ays de l' Adour
Département Inform atique
E ric.C ariou@univ-pau.fr
1Introduction
 J DB C : Jav a Data B ase C onnectivity
 Fr amework permettant l'a ccès aux b ases de
données relationnelles dans u n programme Jav a
 In dépendament du typ e d e la b ase u tilisée (my SQL,
Oracle, Postgres .. .)
 Seule la phase de connexion au SG B DR change
 Permet de f aire tout type d e re quêtes
 Sélection de données dans des tables
 Créat ion de tables et insertion d'éléments dans les tables
 G estion des transactions
 Packages : java.sql e t javax.sql
2Principes généraux d'accès à une BDD
 Première étape
 Préciser le ty pe d e d river q ue l' on v eut u tiliser
 Driv er permet de gérer l'accès à un type particulier de SG B D
 Deuxième é tape
 Récupérer u n o bjet « C onnection » e n s 'identifiant au près
du S G B D e t e n p récisant l a b ase u tilisée
 E tapes suivantes
 A p artir d e l a c onnexion, c réer u n « sta tement » (état)
correspondant à un e re quête p articulière
 E xécuter c e s tatement a u n iveau d u S G B D
 Fermer l e s tatement
 Dernière étape
3
 Se d éconnecter d e la b ase e n fe rmant l a c onnexionConnexion au SGBD
 C lasse java.sql.D riverManager
 G estion du contrôle et de la c onnexion a u S G BD
 Méthodes p rincipales
 static void r egisterDriver(D river driver)
 E nregistre l e driver (obj et driver) pour u n type de S G B D
particulier
 Le driver est dépendant du SG B D utilisé
 static Connection g etConnection(
String u rl, String u ser, S tring password)
 Crée une connexion permettant d'utiliser une b ase
 url : identification de la base considérée sur le S G B D
 Fo rmat de l'URL est dépendant du SG G B utilisé
 user : nom de l'utilisateur qui se connecte à la base
4
 password : mot de passe de l'utilisateurGestion des c onnexions
 Inter face java.sql.Connection
 Préparation de l'ex écution d'ins tructions s ur la
base, 2 ty pes
 Instruction sim ple : classe Statement
 On exécute directement et une fois l'action sur la base
 Instruction param étrée : classe PreparedStatement
 L'instruction est générique, des champs sont non remplis
 Permet une pré- compilation de l'instruction optimisant les
performances
 Pour chaque exécution, on précise les champs manquants
 Pour ces 2 instructions, 2 types d' ordres possibles
 Update : mise à jour du contenu de la base
5
 Query : consulation (avec un select) des données de la baseGestion des connexions
 Méthodes p rincipales d e Connection
 Statement createStatement()
 Retourne un état permettant de réaliser une i nstruction simple
 PreparedStatement p repareStatement(
String ordre)
 Retourne un état permettant de réaliser une i nstruction
paramétrée et pré- compilée pour un o rdre ordre
 Dan s l'ordre, les champs libres (au nombre quelconque) sont
précisés p ar des « ? »
 E x : ' 'select n om from c lients where ville=?''
 Lors de l'ex écution de l'ordre, on précisera la v aleur du cham p
 void close()
 Fer me la connexion avec le SG B D
6Instruction simple
 C lasse Statement
 ResultSet executeQuery(String o rdre)
 E xécute un ordre de type SE LE C T sur la base
 Retourne un o bjet de type ResultSet contenant tous les
résultats de la requête
 int executeUpdate(S tring ordre)
 E xécute un ordre de type INSE RT, UPDA TE , ou DE LE TE
 void close()
 Fer me l'état
7Instruction paramétrée
 C lasse PreparedStatement
 A vant d' exécuter l' ordre, on rem plit les cham ps avec
 void set[Type](int index, [Type] val)
ème
 Remplit le cham p en i position définie par index avec l a
valeur val de ty pe [Type]
 [Type] peut être : S tring, int, float, long ...
 E x : void setString(int index, String val)
 ResultSet executeQuery()
 E xécute un ordre de type SE LE C T sur la base
 Retourne un objet de type ResultSet contenant tous les
résultats de la requête
 int executeUpdate()
 E xécute un ordre de type INSE RT, UPDA TE , ou DE LE TE
8Lecture des résultats
 C lasse ResultSet
 C ontient le s ré sultats d'une r equête SE LE CT
 Plusieurs l ignes contenant plusieurs colonnes
 On y accède ligne par ligne puis val eur p ar valeur dans la ligne
 C hangements de li gne
 boolean next()
 Se place à la ligne suivante s'il y en a une
 Retourne true si le déplacement a été fait, false s'il n'y avait pas d'autre
ligne
 boolean previous()
 Se place à la ligne précédente s'il y en a une
 Retourne true si le déplacement a été fait, false s'il n'y avait pas de
ligne précédente
 boolean absolute(int index)
 Se place à la ligne numérotée index
9
 Retourne true si le déplacement a été fait, false sinonLecture des résultats
 C lasse ResultSet
 A ccès aux c olonnes/d onnées dans u ne l igne
 [type] get[Type](int c ol)
 Retourne le contenu de la colonne col dont l'élément est de type
[type] avec [type] p ouvant ê tre String, int, float, boolean ...
 E x : String getString(int col)
 Fermeture du ResultSet
 void close()
10

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents