PROSIT RETOUR Nom du PROSIT => JAVA – JDBC Animateur Ah

publicité
PROSIT RETOUR
JAVA – JDBC
Ah-Yanne
Desmond
Nicolas
Frédéric
**MOTS CLEFS / A DEFINIR
Base de données : Entité dans laquelle, il est possible de stocker des données de façon
structurée.
Hébergeur : Personne physique ou morale qui fournit un service d’hébergement de fichier de sorte
à les diffuser notamment sur le WEB
Fichier Access : Fichier issue de l’application MS Access qui est un SGBDR : Système de Gestion
de Base de Données Relationnel.
Tables : Structures fondamentales des BD. Les infos sont structurées sous forme de colonnes,
appelées champs et sous forme de lignes, appelées enregistrements. Elle est caractérisée par un
identifiant et une propriété.
Identificateur unique : Propriété qui n’accepte pas de doublons, appelé aussi identifiant unique.
Requête SQL : Commande répondant à une syntaxe précise et qui permet la manipulation
d’information à l’intérieur d’une BD. SQL permet la manipulation des tables, Gestion des droits
d’accès, la maintenance de la base de données.
Exceptions JAVA : Mécanisme de traitement des erreurs en JAVA. Se fait par TRY, CATCH,
THROW, ou FINALLY.
ODBC : Object Data Base Component, C’est un format défini par Microsoft permettant de transcrire
automatiquement les requêtes et les résultats dans un format unique, pour éviter à l’utilisateur de
devoir s’inquiéter du type de SGBD et de la forme des requêtes qui leur est spécifique.
Nom du PROSIT =>
Animateur
Secrétaire
Scribe
Intendant









JDBC : API fournie pour JAVA, permet de se connecter à une BD. Elle est présente dans les
paquets java.sql.
Comment faire une requête SQL ?
INSERT :
Permet d’ajouter des enregistrements à l’intérieur d’une table
INSERT
INTO
table (champ1,champ2,...)
VALUES ('valeur1','valeur2',...);
UPDATE :
Permet de changer les valeurs dans les champs d’une table.
UPDATE
SET
table
champ1= nouvelle_valeur1,
champ2 = nouvelle_valeur2,
champ3 = nouvelle_valeur3,
WHERE condition;
DELETE :
Permet de supprimer les enregistrements d’une table
DELETE
FROM table
WHERE condition
SELECT :
Très certainement l une des commandes les plus complexes du SQL.
. Cette commande va servir à faire
des requêtes pour récupérer des données dans les tables. n.
SELECT
champ1, champ2, champ3, ...
FROM table
S'il y a plus d'un champ spécifié après SELECT, les champs doivent être séparés par des virgules.
Les champs sont retournés dans l'ordre spécifié après la clause SELECT, et non pas dans l'ordre qu'ils
ont été créés dans la table.
Pour récupérer l’ensemble des champs d’une table nous utiliserons le Select *
Exemple :
Select *
From consulte
Where idPage= 1 ;
Les opérateurs de condition (=,<,>,= !..), logiques (AND,OR,) peuvent être inclues dans le « WHERE ».
Notion de jointure :
La jointure va nous permettre de sélectionner des informations dans plusieurs tables grâce aux relations
existant entre ces tables. Il va néanmoins falloir indiquer comment se fait la relation entre ces tables
SELECT nom, prénom
FROM Clients, Commande
WHERE Commande.num_client = Client.num_client
La clause DISTINCT sélectionne chaque ligne distincte du résultat de la requête en éliminant les doublons,
soit des lignes dont toutes les valeurs de champs sont parfaitement égales
Comment exploiter une base de donnée ?
Pour pouvoir travailler sur une base de données Access en JAVA il faut tout d’abord lancer
l'administrateur de source de données ODBC.(travail à effectuer dans le panneau de configuration)
Ensuite il faut lancer l’application Java (Eclipse) puis importer le package java.sql
« import java.sql.*; »
Chargement du pilote :
Pour se connecter à une base de données via ODBC, il faut tout d'abord charger le pilote JDBC-ODBC qui
fait le lien entre les deux
« Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); »
Etablissement d’une connexion :
Pour se connecter à une base de données, il faut instancier un objet de la classe Connection en lui
précisant sous forme d'URL la base à accéder
String DBurl = "jdbc:odbc:testDB";
con = DriverManager.getConnection(DBurl);
La syntaxe URL peut varier d'un type de base de données à l'autre mais elle est toujours de la forme :
protocole:sous_protocole:nom
« jbdc » désigne le protocole est vaut toujours « jdbc ». « odbc » désigne le sous protocole qui définit le
mécanisme de connection pour un type de bases de don
Le nom de la base de données doit être celui saisi dans le nom de la source sous ODBC
Accéder à la Base de données :
Une fois la connexion établie, il est possible d'exécuter des ordres SQL. Les objets qui peuvent être utilisés
pour obtenir des informations sur la base de données sont :
Classe
Rôle
DatabaseMetaData
informations à propos de la base de données : nom des tables,
index, version ...
ResultSet
résultat d'une requête et information sur une table. L'accès se fait
enregistrement par enregistrement.
ResultSetMetaData
informations sur les colonnes (nom et type) d'un ResultSet
Exécution des requêtes SQL :
Les requêtes d'interrogation SQL sont exécutées avec les méthodes d'un objet Statement que l'on obtient à
partir d'un objet connexion.
ResultSet résultats = null;
String requete = "SELECT * FROM client";
try {
Statement stmt = con.createStatement();
résultats = stmt.executeQuery(requete);
} catch (SQLException e) {
//traitement de l'exception
}
Un objet de la classe Statement permet d'envoyer des requêtes SQL à la base. Le création d'un objet
Statement s'effectue à partir d'une instance de la classe Connexion :
Statement stmt = con.createStatement();
Pour une requête de type interrogation (SELECT), la méthode à utiliser de la classe Statement est
exécuteQuery
Pour une requête de type interrogation (SELECT), la méthode à utiliser de la classe Statement est
exécuteQuery
Le résultat d'une requête d'intérrogation est renvoyé dans un objet de la classe ResultSet par la méthode
executeQuery().
ResultSet rs = stmt.executeQuery("SELECT * FROM employe");
Téléchargement