Interface Java – Oracle : JDBC Interface Java – Oracle : JDBC

<Course name> <Lesson number>-1
Christine Bonnet
Interface Java – Oracle :
JDBC
Interface Java – Oracle :
JDBC
I-2 Christine Bonnet
Sommaire
D
Dé
émarche globale JDBC
marche globale JDBC ---
--- 6
6
Acc
Accè
ès en consultation
s en consultation ---
--- 9
9
Acc
Accè
ès en modification
s en modification ---
--- 13
13
Ordres dynamiques
Ordres dynamiques ---
--- 19
19
Proc
Procé
édures stock
dures stocké
ées
es ---
--- 24
24
<Course name> <Lesson number>-2
I-3 Christine Bonnet
JDBC
(Java DataBase Connectivity) :
interface API
(Application Programming Interface)
permet d’exécuter des ordres SQL
dans un programme Java
JDBC
JDBC
(
(Java
Java DataBase
DataBase Connectivity
Connectivity) :
) :
interface API
interface API
(
(Application Programming Interface
Application Programming Interface)
)
permet d
permet d
ex
exé
écuter des ordres SQL
cuter des ordres SQL
dans un programme Java
dans un programme Java
I-4 Christine Bonnet
ÆExécution depuis un programme hôte écrit en
Java d’ordres SQL reconnus par le noyau de la
base de données cible;
ÆGestion des résultats des requêtes SQL dans le
code Java.
Æ
ÆEx
Exé
écution depuis un programme hôte
cution depuis un programme hôte é
écrit en
crit en
Java d
Java d
ordres SQL reconnus par le noyau de la
ordres SQL reconnus par le noyau de la
base de donn
base de donné
ées cible;
es cible;
Æ
ÆGestion des r
Gestion des ré
ésultats des requêtes SQL dans le
sultats des requêtes SQL dans le
code Java.
code Java.
Package java.sql
Package java.sql
import java.sql.*;
import
import java.sql.
java.sql.*;
*;
<Course name> <Lesson number>-3
I-5 Christine Bonnet
CONNEXION À ORACLE
Æpar l’intermédiaire de JDBC en utilisant une URL
(Uniform Resource Locator)
Æ
Æpar l
par l
interm
intermé
édiaire de JDBC en utilisant une URL
diaire de JDBC en utilisant une URL
(
(Uniform
Uniform Resource
Resource Locator
Locator)
)
Exemple :
« jdbc:oracle:thin:@iutainfo:1521:info8i »
Exemple :
Exemple :
«
«jdbc
jdbc:oracle:
:oracle:thin
thin:@
:@iutainfo
iutainfo:1521:info8i
:1521:info8i »
»
I-6 Christine Bonnet
ÉTABLISSEMENT D'UNE CONNEXION
1. Déclaration et chargement du driver :
Exemple :
DriverManager.registerDriver(new
oracle.jdbc.driver.OracleDriver());
1. Déclaration et chargement du driver :
Exemple :
DriverManager.registerDriver
DriverManager.registerDriver(new
(new
oracle.jdbc.driver.OracleDriver
oracle.jdbc.driver.OracleDriver());
());
public static void registerDriver(Driver driver) throws
SQLException
public static void registerDriver(Driver driver) throws
SQLException
Méthodes de la classe DriverManager
Méthodes de la classe DriverManager
<Course name> <Lesson number>-4
I-7 Christine Bonnet
ÉTABLISSEMENT D’UNE CONNEXION (SUITE)
2. Connexion à une base locale en utilisant l’URL, le nom de
l’utilisateur, son mot de passe.
Exemple :
Connection connec = DriverManager.getConnection
("jdbc:oracle:thin:@iutainfo:1521:info8i",
"2gr1","2gr1");
if (connec != null) System.out.println("Connexion
etablie");
2. Connexion à une base locale en utilisant l’URL, le nom de
l’utilisateur, son mot de passe.
Exemple :
Connection connec = DriverManager.getConnection
("
"jdbc
jdbc:oracle:
:oracle:thin
thin:@
:@iutainfo
iutainfo:1521:info8i",
:1521:info8i",
"2gr1","2gr1");
"2gr1","2gr1");
if (
if (connec
connec !=
!= null
null)
) System.out.println
System.out.println("Connexion
("Connexion
etablie
etablie");
");
public static Connection getConnection(String url, String user,
String password) throws SQLException
public static Connection getConnection(String url, String user,
String password) throws SQLException
Méthodes de la classe DriverManager
Méthodes de la classe DriverManager
I-8 Christine Bonnet
3. Accès à la base : requêtes SQL ….
4. Fermeture de la connexion :
nomConnexion.close()
Exemple :
connec.close();
3.
3. Acc
Accè
ès
s à
àla base : requêtes SQL
la base : requêtes SQL
.
.
4.
4. Fermeture de la connexion :
Fermeture de la connexion :
nomConnexion
nomConnexion.close()
.close()
Exemple :
Exemple :
connec.close
connec.close();
();
<Course name> <Lesson number>-5
I-9 Christine Bonnet
ACCÈS À LA BASE EN CONSULTATION
Création d'un objet de type Statement qui reçoit l’ordre
SQL select et l’envoie au SGBD pour exécution.
¾Méthode public Statement createStatement()
Création d'un objet de type ResultSet qui reçoit
le résultat de l’exécution de la requête.
¾Méthode public ResultSet executeQuery(String sql)
Cr
Cré
éation d'un objet de type
ation d'un objet de type Statement
Statement qui
qui re
reç
çoit l
oit l
ordre
ordre
SQL select et l
SQL select et l
envoie au SGBD pour ex
envoie au SGBD pour exé
écution.
cution.
¾Méthode public Statement createStatement()
Cr
Cré
éation d'un objet de type
ation d'un objet de type ResultSet
ResultSet qui
qui re
reç
çoit
oit
le r
le ré
ésultat de l
sultat de l
ex
exé
écution de la requête.
cution de la requête.
¾
¾M
Mé
éthode
thode public
public ResultSet
ResultSet executeQuery
executeQuery(String
(String sql
sql)
)
Statement nomOrdre =
nomConnexion.createStatement();
Statement
Statement nomOrdre
nomOrdre =
=
nomConnexion.createStatement
nomConnexion.createStatement();
();
ResultSet nomResultSet =
nomOrdre.executeQuery("requête SQL select …");
ResultSet
ResultSet nomResultSet
nomResultSet =
=
nomOrdre.executeQuery
nomOrdre.executeQuery("requête SQL select
("requête SQL select
");
");
I-10 Christine Bonnet
EXPLOITATION DES RÉSULTATS
¾Méthode public boolean next()
while (nomResultSet.next()) {
……
String nom =
nomResultSet.getString("ename");
}
….
nomOrdre.close();
nomResultSet.close();
nomConnexion.close();
¾
¾M
Mé
éthode
thode public
public boolean
boolean next
next()
()
while
while (
(nomResultSet.next
nomResultSet.next()) {
()) {
……
……
String nom =
String nom =
nomResultSet.getString
nomResultSet.getString("
("ename
ename");
");
}
}
.
.
nomOrdre.close
nomOrdre.close();
();
nomResultSet.close
nomResultSet.close();
();
nomConnexion.close
nomConnexion.close();
();
public String getString(String columnName)
public String getString(String columnName)
1 / 12 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !