SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partager
aliagadir
 
Soutenance Stage Licence
Soutenance Stage LicenceSoutenance Stage Licence
Soutenance Stage Licence
Mathias Kluba
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro java
Amel Morchdi
 
Java uik-chap2-dev java
Java uik-chap2-dev javaJava uik-chap2-dev java
Java uik-chap2-dev java
Amel Morchdi
 
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
Amel Morchdi
 

What's hot (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
 

Viewers also liked

Cómo educa la narrativa
Cómo educa la narrativaCómo educa la narrativa
Cómo educa la narrativa
chuchomedina
 
Analisis estructural rosa divina
Analisis estructural rosa divinaAnalisis estructural rosa divina
Analisis estructural rosa divina
2005Johana
 
Présentation cpam 06.02.2014
Présentation cpam 06.02.2014Présentation cpam 06.02.2014
Présentation cpam 06.02.2014
phild68131
 
Goodyear vengeance et victoire
Goodyear vengeance et victoireGoodyear vengeance et victoire
Goodyear vengeance et victoire
Goodyear 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
 
Eucarista corpuschristi1
Eucarista corpuschristi1Eucarista corpuschristi1
Eucarista corpuschristi1
BRAVOPAT
 
Información Fundación EDE
Información Fundación EDEInformación Fundación EDE
Información Fundación EDE
PBLesp
 
El aborto
El abortoEl aborto
El aborto
arce5
 

Viewers also liked (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 to Java et bases de données : JDBC

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
Antoine Rey
 
Fmin103 0910 tpjdbc
Fmin103 0910 tpjdbcFmin103 0910 tpjdbc
Fmin103 0910 tpjdbc
Karim Amane
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVC
Nathaniel Richand
 

Similar to 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
 

Recently uploaded

Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
ssuserc72852
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
AmgdoulHatim
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
ikospam0
 

Recently uploaded (20)

L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénients
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
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
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.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
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdfSTRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf
 

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 ))