Académique Documents
Professionnel Documents
Culture Documents
GINFO3
INTRODUCTION
• JDBC est l'acronyme de Java DataBase Connectivity et désigne une API définie par
Sun pour permettre un accès aux bases de données avec Java.
• Les classes de JDBC version 1.0 sont regroupées dans le package java.sql et sont
incluses dans le JDK à partir de sa version 1.1. La version 2.0 de cette API est incluse
dans la version 1.2 du JDK.
• Pour pouvoir utiliser JDBC, il faut un pilote qui est spécifique à la base de données à
laquelle on veut accéder.
• Avec le JDK, Sun fournit un pilote qui permet l'accès aux bases de données via
ODBC.
API JDBC
IL CONTIENT 8 INTERFACES :
• STATEMENT
• CALLABLESTATEMENT, PREPAREDSTATEMENT
• DATABASEMETADATA, RESULTSETMETADATA
• RESULTSET
• CONNECTION
• DRIVER
ARCHITECTURE
MySQ
L
CONNECTION D’UNE APPLICATION JAVA AVEC
UNE BASE DE DONNEES MYSQL
CONNECTION D’UNE APPLICATION JAVA AVEC
UNE BASE DE DONNEES MYSQL
• Pour connecter l’application java à la base de données MySQL, nous devons suivre 4 étapes
(connaître les informations suivantes pour la base de données mysql):
• DRIVER CLASS: La classe de pilote pour la base de données MySQL est:
“COM.MYSQL.JDBC.DRIVER”
• CONNECTION URL: L’URL de connexion pour la base de données MySQL est
"JDBC:MYSQL://LOCALHOST:3306/SUPERMARCHE","ROOT","");
Jdbc: l’api,
Mysql: la base de données,
Localhost: nom du serveur sur lequel mysql est en cours d’exécution (vous pouvez utiliser l’adresse IP),
3306 : le numéro de port
Supermarche: nom de la base de données.
USERNAME: Nom d’utilisateur par défaut de la base de données mysql est root.
• PASSWORD: Mot de passe donné par l’utilisateur au moment de l’installation de la base de
données mysql.
CONNECTION AVEC UNE BASE DE DONNEES
Statement stmt=con.createStatement();
3. Créer l’objet Statement
ResultSet rs=stmt.executeQuery("select * from Client");
4. Exécuter la requête
while(rs.next())
System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getString(3));
con.close();
5. Fermeture d’objet connection
}
catch(Exception e){ System.out.println(e);}
} }
STATEMENT INTERFACE
• L’interface Statement fournit des méthodes pour exécuter des requêtes avec la base
de données.
• L’interface Statement est une fabrique de ResultSet, c’est-à-dire qu’elle fournit une
méthode d’usine pour obtenir l’objet de ResultSet.
• Les méthodes importantes de l’interface Statement sont les suivantes :
• public ResultSet executeQuery(String sql): est utilisé pour exécuter la requête SELECT. Elle
renvoie l’objet de ResultSet.
• public int executeUpdate(String sql): est utilisé pour exécuter une requête spécifiée, il peut être
créer, déposer, insérer, mettre à jour, supprimer, etc.
• public boolean execute(String sql): est utilisé pour exécuter des requêtes qui peuvent renvoyer
plusieurs résultats.
• public int[] executeBatch(): est utilisé pour exécuter un lot de commandes.
Voir Pratique8/Connection/Exemple2
ResultSet INTERFACE: EXEMPLE3
• L’objet de ResultSet conserve un curseur pointant vers une ligne d’une table. Initialement, le curseur pointe
avant la première ligne. Méthodes couramment utilisées de l’interface
public boolean next(): ResultSet
permet de déplacer le curseur sur la ligne suivante à partir de la position actuelle.
public boolean previous(): permet de déplacer le curseur sur la ligne précédente à partir de la position actuelle.
public boolean first(): Permet de déplacer le curseur sur la première ligne de l’objet jeu de résultats.
public boolean last(): permet de déplacer le curseur sur la dernière ligne de l’objet jeu de résultats.
public boolean absolute(int permet de déplacer le curseur sur le numéro de ligne spécifié dans l’objet ResultSet.
row):
public boolean relative(int est utilisé pour déplacer le curseur sur le numéro de ligne relatif dans l’objet ResultSet, il
row): peut être positif ou négatif.
public int getInt(int est utilisé pour renvoyer les données de l’index de colonne spécifié de la ligne courante
columnIndex): sous la forme int.
public int getInt(String est utilisé pour renvoyer les données du nom de colonne spécifié de la ligne courante sous
columnName): la forme int.
public String getString(int est utilisé pour renvoyer les données de l’index de colonne spécifié de la ligne courante
columnIndex): sous forme de chaîne.
public String est utilisé pour renvoyer les données du nom de colonne spécifié de la ligne courante sous
getString(String forme de chaîne.
columnName):
PREPARED STATEMENT INTERFACE
• L’interface PreparedStatement est une sous-interface de Statement.
• Elle est utilisé pour exécuter une requête paramétrée.
• Exemple:
String sql="insert into Client values(?,?,?,?,?,?,?)";
public void setInt(int paramIndex, int value) Définit la valeur entière sur l’index de paramètre
donné.
public void setString(int paramIndex, String définit la valeur String sur l’index de paramètre
value) donné.
public void setFloat(int paramIndex, float value) Définit la valeur float sur l’index de paramètre donné.
public void setDouble(int paramIndex, double Définit la valeur double sur l’index de paramètre
value) donné.
public int executeUpdate() Exécute la requête. Il est utilisé pour créer, déposer,
insérer, mettre à jour, supprimer, etc.
• l’interface ResultSetMetaData est utile car elle fournit des méthodes pour
obtenir des métadonnées de l’objet ResultSet.
Voir Exemple 5
LES MÉTHODES DE L’INTERFACE ResultSetMetaData
Methode Description
public int getColumnCount()throws it returns the total number of columns in
SQLException the ResultSet object.