Session Hiver 2025
Accès aux bases de données avec Java
POOA R. Lammouchi 1
Chargement du pilote
◦ pour se connecter à une base locale Access
[Link]("[Link]");
◦ pour se connecter à une base Mysql
[Link]("[Link]");
◦ pour se connecter à une base Oracle
[Link]("[Link]");
POOA R. Lammouchi 2
Affecter la connexion avec la base de données
◦ Pour une base locale Access
Connection connexion =
[Link]("jdbc:odbc:Nom_Source_Données",
username, password);
◦ Pour une base Mysql
Connection connexion =
[Link]("jdbc:mysql://hostname:port/dbna
me","username", "password");
◦ Pour une base Oracle
Connection connexion =
Connection con=[Link](
"jdbc:oracle:thin:@hostnam[Link]orcl"," username ","
password ");
POOA R. Lammouchi 3
Créer un statement
Statement requete = [Link]();
L’objet requete se chargera de faire exécuter une requête
SQL, grâce à des méthodes d'exécution appropriées qu'il faut
lui passer.
POOA R. Lammouchi 4
◦ Pour une instruction SQL SELECT, la méthode à utiliser est
executeQuery() qui renvoie un objet ResultSet
◦ Pour une instruction INSERT, UPDATE ou DELETE (créer ou
modifier une table), on invoque la méthode
executeUpdate() qui renvoie un entier (numéro de la
colonne concernée ou 0).
Ces 2 méthodes nécessitent une instruction SQL
correcte, qui est passée en paramètre chaine.
POOA R. Lammouchi 5
ResultSet resultat = [Link]("SELECT
DISTINCT Nom FROM ELEVES order by nom;");
Pour obtenir les noms des élèves de la table ELEVES, classés
par ordre alphabétique.
[Link]("CREATE TABLE
VENDEUR (NumVendeur integer,"+"Nom char(15),
Prenom char(10), DateEmbauche date, NumChef
integer,"+ "salaire numeric(6,0), Commission
numeric(4,1), ContratDI logical);");
pour créer une table VENDEUR dans la BD courante
POOA R. Lammouchi 6
private void affiche (ResultSet resultat) {
int i;
ResultSetMetaData rsmd = [Link] ();
int nbcol = [Link] ();
for (i=1; i<=nbcol; i++) {
if (i > 1) [Link]("\t");
[Link]([Link](i));
}
[Link]("");
boolean encore = [Link] ();
while (encore) {
for (i=1; i<=nbcol; i++) {
if (i > 1) [Link]("\t");
[Link]([Link](i));
}
[Link]("");
encore = [Link] ();
}
} POOA R. Lammouchi 7
1. Création de la base de données « Commerce » sous
le serveur Mysql de l’un de deux outils :
WampServer ou EasyPhp
2. Création de la table « Vendeur »:
CREATE TABLE VENDEUR (NumVendeur integer,"+"Nom
char(15), Prenom char(10), DateEmbauche date, NumChef
integer,"+ "salaire numeric(6,0), Commission numeric(4,1),
ContratDI logical);
3. Création d’une classe Java (Sous NetBeans) pour
extraire et afficher le contenu de la table
« Vendeur »
POOA R. Lammouchi 8