SlideShare una empresa de Scribd logo
1 de 24
Java DataBase Connectivity
JDBC
En pratique
 Chargement du pilote
 Ouverture de connexion
 Exécution d'une requête
 Programme principal
Package et classes
 Le paquetage java.sql regroupe les interfaces et
les classes de l'API JDBC.
import java.sql.DriverManager; // gestion des
pilotes
import java.sql.Connection; // une connexion à la
BD
import java.sql.Statement; // une instruction
import java.sql.ResultSet; // un résultat
(lignes/colonnes)
import java.sql.SQLException; // une erreur
Les Pilotes (drivers)
Drivers
 Type 1 JDBC-ODBC Bridge
 Type 2 Native-API Partly-Java Driver
 Type 3 Net Protocol All-Java Driver
 Type 4 Native Protocol All-Java Driver
Drivers : chargement
Méthode 1 :
String nomDriver = "nom_du_driver";
try{
Class.forName(nomDriver);
}catch(ClassNotFoundException cnfe){
System.out.println("La classe "+nomDriver+" n'a pas
été trouvée");
cnfe.printStackTrace();
}
Exemple :
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//pour le pont JDBC-ODBC
Class.forName("com.mysql.jdbc.Driver");
//pour MySQL et ConnectorJ
Méthode 2:
Driver monDriver = new com.mysql.jdbc.Driver();
DriverManager.registerDriver(monDriver);
Connections
String url = "jdbc:<subprotocol>:<subname> " ;
Connect = DriverManager.getConnection( url , SQLlogin ,
SQLpassword ) ;
Exemples :
jdbc:odbc:maBase;CacheSize=30;ExtensionCase=LOWER
jdbc:mysql://localhost/maBase
jdbc:sybase:Tds:localhost:5020/maBase
Pour oracle on a deux mode de oci et thin :
jdbc:oracle:oci:@maBase
jdbc:oracle:thin:@//localhost:1521:maBase
Le cas Oracle
la Connexion (connection)
Les requetes
 Statement //requete simple
 PreparedStatement //requete preparée
 CallableStatement // appel à une procedure
stockée
 On ne peut pas les instancier
 Pour les créer il faut faire appel à la classe
Connection
Statement
Statement
Resulset
Resulset navigable modifiable
Statement createStatement(int typeCurseur, int
modifCurseur)
Resulset navigation
Resulset modification
Resulset modification
Connection connection = ...;
Statement statement = connection.createStatement
(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE
);
String sql = "SELECT * FROM Annuaire";
ResultSet resultat = statement.executeQuery(sql);
// on se place sur la ligne à insérer
resultat.moveToInsertRow();
//on renseigne les différents champs
resultat.updateInt("id",456);
resultat.updateString("nom","nouveauNom");
resultat.updateString("prenom","nouveauPrenom");
//on insère effectivement la nouvelle ligne
resultat.insertRow();
// se replacer sur la ligne pointée avant l'appel à
moveToInsertRow
resultat.moveToCurrentRow();
PreparedStatement
CallableStatement
1- Créer le callablestatement
(connection.prepareCall(String))
2- répertorier le type des paramètres de sortie
(méthode registerOutParameter(numero, type
java.sql.types)
3- passer les valeurs des paramètres d’entrée
(méthode setXXX( numéro, valeur))
4- récupérer les résultats (méthode (getXXX( numéro ))
CallableStatement
Transactions
Transactions
Java et bases de données : JDBC
Java et bases de données : JDBC

Más contenido relacionado

La actualidad más candente

Workshop Spring - Session 5 - Spring Integration
Workshop Spring - Session 5 - Spring IntegrationWorkshop Spring - Session 5 - Spring Integration
Workshop Spring - Session 5 - Spring IntegrationAntoine Rey
 
JBoss - chapitre JMX
JBoss - chapitre JMXJBoss - chapitre JMX
JBoss - chapitre JMXFranck SIMON
 
Workshop Spring 3 - Tests et techniques avancées du conteneur Spring
Workshop Spring  3 - Tests et techniques avancées du conteneur SpringWorkshop Spring  3 - Tests et techniques avancées du conteneur Spring
Workshop Spring 3 - Tests et techniques avancées du conteneur SpringAntoine Rey
 
Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013
Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013
Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013Xavier NOPRE
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partageraliagadir
 
Workshop Spring - Session 1 - L'offre Spring et les bases
Workshop Spring  - Session 1 - L'offre Spring et les basesWorkshop Spring  - Session 1 - L'offre Spring et les bases
Workshop Spring - Session 1 - L'offre Spring et les basesAntoine Rey
 
Soutenance Stage Licence
Soutenance Stage LicenceSoutenance Stage Licence
Soutenance Stage LicenceMathias Kluba
 
Marzouk une introduction à jdbc
Marzouk une introduction à jdbcMarzouk une introduction à jdbc
Marzouk une introduction à jdbcabderrahim marzouk
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Antoine Rey
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro javaAmel Morchdi
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring bootAntoine Rey
 
Java uik-chap2-dev java
Java uik-chap2-dev javaJava uik-chap2-dev java
Java uik-chap2-dev javaAmel Morchdi
 
Déploiement d'applications Java EE
Déploiement d'applications Java EEDéploiement d'applications Java EE
Déploiement d'applications Java EEjavalabsf
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaAmel Morchdi
 
MarsJUG - Le classpath n'est pas mort, mais presque
MarsJUG - Le classpath n'est pas mort, mais presqueMarsJUG - Le classpath n'est pas mort, mais presque
MarsJUG - Le classpath n'est pas mort, mais presqueAlexis Hassler
 

La actualidad más candente (19)

Workshop Spring - Session 5 - Spring Integration
Workshop Spring - Session 5 - Spring IntegrationWorkshop Spring - Session 5 - Spring Integration
Workshop Spring - Session 5 - Spring Integration
 
JBoss - chapitre JMX
JBoss - chapitre JMXJBoss - chapitre JMX
JBoss - chapitre JMX
 
Workshop Spring 3 - Tests et techniques avancées du conteneur Spring
Workshop Spring  3 - Tests et techniques avancées du conteneur SpringWorkshop Spring  3 - Tests et techniques avancées du conteneur Spring
Workshop Spring 3 - Tests et techniques avancées du conteneur Spring
 
Nouveautés de java 8
Nouveautés de java 8Nouveautés de java 8
Nouveautés de java 8
 
Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013
Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013
Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partager
 
Nouveautés Java 9-10-11
Nouveautés Java 9-10-11Nouveautés Java 9-10-11
Nouveautés Java 9-10-11
 
Workshop Spring - Session 1 - L'offre Spring et les bases
Workshop Spring  - Session 1 - L'offre Spring et les basesWorkshop Spring  - Session 1 - L'offre Spring et les bases
Workshop Spring - Session 1 - L'offre Spring et les bases
 
Soutenance Stage Licence
Soutenance Stage LicenceSoutenance Stage Licence
Soutenance Stage Licence
 
Marzouk une introduction à jdbc
Marzouk une introduction à jdbcMarzouk une introduction à jdbc
Marzouk une introduction à jdbc
 
JAVA 8
JAVA 8JAVA 8
JAVA 8
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro java
 
Jprofiler
JprofilerJprofiler
Jprofiler
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
 
Java uik-chap2-dev java
Java uik-chap2-dev javaJava uik-chap2-dev java
Java uik-chap2-dev java
 
Déploiement d'applications Java EE
Déploiement d'applications Java EEDéploiement d'applications Java EE
Déploiement d'applications Java EE
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 java
 
MarsJUG - Le classpath n'est pas mort, mais presque
MarsJUG - Le classpath n'est pas mort, mais presqueMarsJUG - Le classpath n'est pas mort, mais presque
MarsJUG - Le classpath n'est pas mort, mais presque
 

Destacado

Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Ippon
 
Cómo educa la narrativa
Cómo educa la narrativaCómo educa la narrativa
Cómo educa la narrativachuchomedina
 
Analisis estructural rosa divina
Analisis estructural rosa divinaAnalisis estructural rosa divina
Analisis estructural rosa divina2005Johana
 
VSActivity, logiciel de gestion (ERP métier) pour les cabinets de conseil et ...
VSActivity, logiciel de gestion (ERP métier) pour les cabinets de conseil et ...VSActivity, logiciel de gestion (ERP métier) pour les cabinets de conseil et ...
VSActivity, logiciel de gestion (ERP métier) pour les cabinets de conseil et ...VSA VSActivity
 
Présentation cpam 06.02.2014
Présentation cpam 06.02.2014Présentation cpam 06.02.2014
Présentation cpam 06.02.2014phild68131
 
Goodyear vengeance et victoire
Goodyear vengeance et victoireGoodyear vengeance et victoire
Goodyear vengeance et victoireGoodyear Amiens
 
Presentación formación de usuarios (solo sala general)
Presentación formación de usuarios (solo sala general)Presentación formación de usuarios (solo sala general)
Presentación formación de usuarios (solo sala general)agudomaria76
 
FUN#1 E-commerce : se lancer sans rien connaitre
FUN#1 E-commerce : se lancer sans rien connaitreFUN#1 E-commerce : se lancer sans rien connaitre
FUN#1 E-commerce : se lancer sans rien connaitreFuck Up Nights Paris
 
Eucarista corpuschristi1
Eucarista corpuschristi1Eucarista corpuschristi1
Eucarista corpuschristi1BRAVOPAT
 
Sociedad de la información
Sociedad de la informaciónSociedad de la información
Sociedad de la informaciónVerito Sandoval
 
Trabajo practico 1 robero javier perez
Trabajo practico 1   robero javier perezTrabajo practico 1   robero javier perez
Trabajo practico 1 robero javier perezrobertitito
 
Información Fundación EDE
Información Fundación EDEInformación Fundación EDE
Información Fundación EDEPBLesp
 
Trabajo final Miguel angel y Rubén
Trabajo final Miguel angel y RubénTrabajo final Miguel angel y Rubén
Trabajo final Miguel angel y Rubénxoneren
 
El aborto
El abortoEl aborto
El abortoarce5
 

Destacado (20)

Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
 
Cómo educa la narrativa
Cómo educa la narrativaCómo educa la narrativa
Cómo educa la narrativa
 
Analisis estructural rosa divina
Analisis estructural rosa divinaAnalisis estructural rosa divina
Analisis estructural rosa divina
 
VSActivity, logiciel de gestion (ERP métier) pour les cabinets de conseil et ...
VSActivity, logiciel de gestion (ERP métier) pour les cabinets de conseil et ...VSActivity, logiciel de gestion (ERP métier) pour les cabinets de conseil et ...
VSActivity, logiciel de gestion (ERP métier) pour les cabinets de conseil et ...
 
Présentation cpam 06.02.2014
Présentation cpam 06.02.2014Présentation cpam 06.02.2014
Présentation cpam 06.02.2014
 
Memoire bado
Memoire badoMemoire bado
Memoire bado
 
Goodyear vengeance et victoire
Goodyear vengeance et victoireGoodyear vengeance et victoire
Goodyear vengeance et victoire
 
Presentación formación de usuarios (solo sala general)
Presentación formación de usuarios (solo sala general)Presentación formación de usuarios (solo sala general)
Presentación formación de usuarios (solo sala general)
 
FUN#1 E-commerce : se lancer sans rien connaitre
FUN#1 E-commerce : se lancer sans rien connaitreFUN#1 E-commerce : se lancer sans rien connaitre
FUN#1 E-commerce : se lancer sans rien connaitre
 
Instant Offices - Lyon
Instant Offices - LyonInstant Offices - Lyon
Instant Offices - Lyon
 
Pinturas
Pinturas  Pinturas
Pinturas
 
Eucarista corpuschristi1
Eucarista corpuschristi1Eucarista corpuschristi1
Eucarista corpuschristi1
 
Welcome!
Welcome!Welcome!
Welcome!
 
Examen part. 1
Examen part. 1Examen part. 1
Examen part. 1
 
4 redes sociales del futuro
4 redes sociales del futuro4 redes sociales del futuro
4 redes sociales del futuro
 
Sociedad de la información
Sociedad de la informaciónSociedad de la información
Sociedad de la información
 
Trabajo practico 1 robero javier perez
Trabajo practico 1   robero javier perezTrabajo practico 1   robero javier perez
Trabajo practico 1 robero javier perez
 
Información Fundación EDE
Información Fundación EDEInformación Fundación EDE
Información Fundación EDE
 
Trabajo final Miguel angel y Rubén
Trabajo final Miguel angel y RubénTrabajo final Miguel angel y Rubén
Trabajo final Miguel angel y Rubén
 
El aborto
El abortoEl aborto
El aborto
 

Similar a Java et bases de données : JDBC

Java Database Connectivity
Java Database ConnectivityJava Database Connectivity
Java Database ConnectivityKorteby Farouk
 
Présentaion sur le modéle JDBC JEE .pptx
Présentaion sur le modéle JDBC JEE .pptxPrésentaion sur le modéle JDBC JEE .pptx
Présentaion sur le modéle JDBC JEE .pptxsalmachtioui1
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications JavaAntoine Rey
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EEInes Ouaz
 
Java dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnASJava dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnASGuillaume Sauthier
 
Fmin103 0910 tpjdbc
Fmin103 0910 tpjdbcFmin103 0910 tpjdbc
Fmin103 0910 tpjdbcKarim Amane
 
Apache flink - prise en main rapide
Apache flink - prise en main rapideApache flink - prise en main rapide
Apache flink - prise en main rapideBilal Baltagi
 
Java 5, un blian
Java 5, un blianJava 5, un blian
Java 5, un bliantareq
 
Java 5, un bilan
Java 5,  un bilanJava 5,  un bilan
Java 5, un bilanteejug
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVCNathaniel Richand
 

Similar a Java et bases de données : JDBC (20)

Jdbc
JdbcJdbc
Jdbc
 
Java Database Connectivity
Java Database ConnectivityJava Database Connectivity
Java Database Connectivity
 
1145709.ppt
1145709.ppt1145709.ppt
1145709.ppt
 
Présentaion sur le modéle JDBC JEE .pptx
Présentaion sur le modéle JDBC JEE .pptxPrésentaion sur le modéle JDBC JEE .pptx
Présentaion sur le modéle JDBC JEE .pptx
 
Springioc
SpringiocSpringioc
Springioc
 
Jdbc par4
Jdbc par4Jdbc par4
Jdbc par4
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications Java
 
Les Servlets et JSP
Les Servlets et JSPLes Servlets et JSP
Les Servlets et JSP
 
Programmation Java
Programmation JavaProgrammation Java
Programmation Java
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EE
 
Gradle_ToursJUG
Gradle_ToursJUGGradle_ToursJUG
Gradle_ToursJUG
 
Java dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnASJava dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnAS
 
Fmin103 0910 tpjdbc
Fmin103 0910 tpjdbcFmin103 0910 tpjdbc
Fmin103 0910 tpjdbc
 
Apprendre J2EE
Apprendre J2EEApprendre J2EE
Apprendre J2EE
 
JDBC Java
JDBC JavaJDBC Java
JDBC Java
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
 
Apache flink - prise en main rapide
Apache flink - prise en main rapideApache flink - prise en main rapide
Apache flink - prise en main rapide
 
Java 5, un blian
Java 5, un blianJava 5, un blian
Java 5, un blian
 
Java 5, un bilan
Java 5,  un bilanJava 5,  un bilan
Java 5, un bilan
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVC
 

Último

Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...M2i Formation
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptssusercbaa22
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 

Último (16)

Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 

Java et bases de données : JDBC

  • 2. En pratique  Chargement du pilote  Ouverture de connexion  Exécution d'une requête  Programme principal
  • 3. Package et classes  Le paquetage java.sql regroupe les interfaces et les classes de l'API JDBC. import java.sql.DriverManager; // gestion des pilotes import java.sql.Connection; // une connexion à la BD import java.sql.Statement; // une instruction import java.sql.ResultSet; // un résultat (lignes/colonnes) import java.sql.SQLException; // une erreur
  • 5. Drivers  Type 1 JDBC-ODBC Bridge  Type 2 Native-API Partly-Java Driver  Type 3 Net Protocol All-Java Driver  Type 4 Native Protocol All-Java Driver
  • 6. Drivers : chargement Méthode 1 : String nomDriver = "nom_du_driver"; try{ Class.forName(nomDriver); }catch(ClassNotFoundException cnfe){ System.out.println("La classe "+nomDriver+" n'a pas été trouvée"); cnfe.printStackTrace(); } Exemple : Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //pour le pont JDBC-ODBC Class.forName("com.mysql.jdbc.Driver"); //pour MySQL et ConnectorJ Méthode 2: Driver monDriver = new com.mysql.jdbc.Driver(); DriverManager.registerDriver(monDriver);
  • 7. Connections String url = "jdbc:<subprotocol>:<subname> " ; Connect = DriverManager.getConnection( url , SQLlogin , SQLpassword ) ; Exemples : jdbc:odbc:maBase;CacheSize=30;ExtensionCase=LOWER jdbc:mysql://localhost/maBase jdbc:sybase:Tds:localhost:5020/maBase Pour oracle on a deux mode de oci et thin : jdbc:oracle:oci:@maBase jdbc:oracle:thin:@//localhost:1521:maBase
  • 10. Les requetes  Statement //requete simple  PreparedStatement //requete preparée  CallableStatement // appel à une procedure stockée  On ne peut pas les instancier  Pour les créer il faut faire appel à la classe Connection
  • 14. Resulset navigable modifiable Statement createStatement(int typeCurseur, int modifCurseur)
  • 17. Resulset modification Connection connection = ...; Statement statement = connection.createStatement ( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE ); String sql = "SELECT * FROM Annuaire"; ResultSet resultat = statement.executeQuery(sql); // on se place sur la ligne à insérer resultat.moveToInsertRow(); //on renseigne les différents champs resultat.updateInt("id",456); resultat.updateString("nom","nouveauNom"); resultat.updateString("prenom","nouveauPrenom"); //on insère effectivement la nouvelle ligne resultat.insertRow(); // se replacer sur la ligne pointée avant l'appel à moveToInsertRow resultat.moveToCurrentRow();
  • 19. CallableStatement 1- Créer le callablestatement (connection.prepareCall(String)) 2- répertorier le type des paramètres de sortie (méthode registerOutParameter(numero, type java.sql.types) 3- passer les valeurs des paramètres d’entrée (méthode setXXX( numéro, valeur)) 4- récupérer les résultats (méthode (getXXX( numéro ))