JDBC FM 2012 2013
JDBC FM 2012 2013
JDBC FM 2012 2013
ou
comment manipuler une base de
données en Java ?
Introduction
• JDBC: Java database connectivity, c’est du JAVA !
– API 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) fournit des outils pour ces
fonctions
JDBC Driver Manager
Définition
JDBC pour executer, depuis un programme Java, l'ensemble des
Le pilote...
L’API JDBC permet d'executer des instructions
ordres SQL reconnus par la base de donneesSQL.
cible.
établit
JDBC fait partie du JDK (Java Development Kit) : “lui parler".
le lien avec la base de donnees, en sachant
La connexion...
Dans
PaquageJDBC : des classes chargées de gérer un pilote...
java.sql
Elle pilotes
Des
importpeut s'etablir
existentSIpour
java.sql.*; on donne
mySQL, l'adresse
Oracle,de la BD a laquelle
postGresSQL, se connecter...
ACCESS,...
Interfaces de JDBC (2)
getConnection()
Canal de
communication TCP
vers une BD
createStatement()
executeQuery()
try {
String strClassName = "com.mysql.jdbc.Driver« ;
Class.forName(strClassName); Charger le pilote
String strUrl = "jdbc:mysql://localhost:3306/" + dbName;
Connection conn = DriverManager.getConnection(strUrl, login="root", passwd="");
// . . .
conn.close(); Établir la connexion
}
catch(ClassNotFoundException e) {
System.err.println("Driver non chargé !"); opérations
e.printStackTrace();
} catch(SQLException e) {
// . . .
}
Étape 2: établir une connexion
• Établir la connexion avec MySQL
– DriverManager: sa méthode statique
getConnection va créer un objet de
connexion de la classe Connection.
Étape 3: Requête SQL
• L’exécution d’une requête SQL passe par
l'utilisation d'une classe, spécifique au pilote
utilisé, implémentant l'interface Statement
st0.executeUpdate(strInsert);
Créer un Statement
conn.close();
}
catch(ClassNotFoundException e) {
Exécuter un ordre SQL
// . . .
} catch(SQLException e) {
// . . .
}
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.mysql.jdbc.Driver";
Class.forName(strClassName);
3. Elles sont utilisées pour obtenir les noms des colonnes dans un
ResultSet ainsi que le type des données qui se trouvent dans chacune
d'elles.
Obtenir les
meta-données
Utiliser les
meta-données