16/11/2015
1
Evaluation et optimisation - 1
UPMC - UFR 919 Ingéniérie - Cours Bases de données I3009
I3009 Licence d’informatique
2015/2016
Introduction à JDBC
Java DataBase Connectivity = API + Driver
permettant à un programme Java d’exécuter du SQL
Package java.sql du JDK :
import java.sql.* ;
Evaluation et optimisation - 2
UPMC - UFR 919 Ingéniérie - Cours Bases de données I3009
Architecture JDBC (natif)
Appli Java
API JDBC
JDBC Driver Manager
Driver (ex. oracle)
BD
SQL
Evaluation et optimisation - 3
UPMC - UFR 919 Ingéniérie - Cours Bases de données I3009
Principales classes
Connexion => create statement
Statement (prepared, callable) => executequery
ResultSet
Data Types Etapes
• Installer le driver : Class.forName("oracle.jdbc.driver.OracleDriver");
• Créer une connexion
Connection.maConnection=DriverManager.getConnection(url);
• Exécuter les requêtes (avec éventuellement des paramètres si prepared)
Statement.maRequeteSQL=maConnection();
•ResultSet.monResultat=maRequeteSQL.executeQuery(texteRequeteSQL);
• Utiliser/parcourir le résultat :
while (monResultat.next()) {
String nom = monResultat.getString(2);
int age=monResultat.getInt (1);
Evaluation et optimisation - 4
UPMC - UFR 919 Ingéniérie - Cours Bases de données I3009
Exemple de preparedstatement
•Forme générale : jdbc:sous_protocole:données_de_connexion
• jdbc est le protocole
• Sous protocole : par exemple oracle, oracle:thin
• Données de connexion : login/passwd@server:port:bd
String selectSQL = "SELECT USER_ID, USERNAME FROM DBUSER WHERE USER_ID >= ?";
PreparedStatement PS = dbConnection.prepareStatement(selectSQL);
PS.setInt(1, 1001);
ResultSet rs = preparedStatement.executeQuery(selectSQL );
while (rs.next()) {
String userid = rs.getString("USER_ID");
String username = rs.getString("USERNAME");
reste du traitement (affichage, etc…)
} URL pour connexion