51 Les technologies XML Cours 6 : XML et les architectures N-tiers – Tier Métier Janvier Version 1.0 -
52 TIER METIER : ACCES AUX DONNEES 1/11 La quasi totalité des applications professionnelles repose sur une ou plusieurs bases de données. L'API JDBC (Java Data Base Connectivity) intègre cette dimension en permettant à un programme java de communiquer avec une base de données relationnelle. Le package java.sql, qui implémente cette API, contient un ensemble de classes et dinterfaces permettant deffectuer : la connexion à une base de donn é es la connexion à une base de donn é es l interrogation de celle-ci l interrogation de celle-ci la mise à jour des informations qu'elle contient la mise à jour des informations qu'elle contient la validation et l'annulation de transactions la validation et l'annulation de transactions Le code ainsi produit permet daccéder indifféremment à diverses bases de données (Oracle, Sybase, Informix, Access, MySQL, PostGreSQL...) et ce, sans avoir besoin d'être modifier.
53 TIER METIER : ACCES AUX DONNEES 2/11 La méthode forName(driver) : Notons tout d'abord qu'il est nécessaire de charger la classe spécifiant le driver utilisé via la méthode forName de la classe Class. La classe chargée doit implémenter l'interface java.sql.Driver qui est une abstraction d'un pilote JDBC. Cette méthode forName charge la classe spécifiant le driver utilisé, dont le nom est passé sous la forme d'une chaîne de caractères, comme par exemple : "sun.jdbc.odbc.JdbcOdbcDriver" "oracle.jdbc.driver.OracleDriver" Changement des versions
54 TIER METIER : ACCES AUX DONNEES 3/11 Les méthodes getConnection (URL) et getConnection (URL, String, String) : getConnection (URL, String, String) : La classe qui permet d'établir des connexions à une base de données en faisant le lien entre un pilote et une source de données est la classe java.sql.DriverManager. Les méthodes getConnection renvoient une connexion à une base de donnée dont l'URL est passé en argument. Le login utilisateur et le mot de passe pour se connecter à la base peuvent être également spécifiés en second et troisième argument. URL contient les noms du protocole, du sous protocole et de la base de données séparés par le caractère " : ", comme par exemple : "jdbc:odbc:vins"
55 TIER METIER : ACCES AUX DONNEES 4/11 Linterface java.sql.Connexion : Cette interface spécifie une connexion à une base de données particulière.
56 TIER METIER : ACCES AUX DONNEES 5/11 Le package java.sql Le package java.sql Il permet de manipuler trois types de requêtes SQL : Il permet de manipuler trois types de requêtes SQL : celles spécifiées par linterface Statement qui permet la manipulation de requêtes statiques (ne contenant aucun paramètre en entrée), celles spécifiées par linterface PreparedStatement qui permet la manipulation de requêtes dynamiques (ces requêtes sont pré-compilées puis des paramètres en entrée leur sont spécifiés avant chaque utilisation) et celles spécifiées par linterface CallableStatement qui permet la manipulation de procédures stockées (procédures stockées dans la base de données et écrites à l'aide du langage PL/SQL).
57 TIER METIER : ACCES AUX DONNEES 6/11 L'interface java.sql.Statement Elle fournit un ensemble de méthodes permettant la soumission d'une requête SQL statique via une connexion à une base de données. Pour ce faire, le pilote s'y prend en deux fois, il effectue tout dabord un accès à la base pour contrôler les tables et les colonnes de celles-ci, impliquées dans la requête, puis lors d'un second accès, lance l'exécution de la requête.
58 TIER METIER : ACCES AUX DONNEES 7/11 L'interface java.sql.ResultSet Cette interface permet lors d'une consultation de données de parcourir les informations reçues.
59 TIER METIER : ACCES AUX DONNEES 8/11 Connexion à la base :
60 TIER METIER : ACCES AUX DONNEES 9/11 Préparation de linstruction :
61 TIER METIER : ACCES AUX DONNEES 10/11 Exécution dune requête de consultation :
62 TIER METIER : ACCES AUX DONNEES 11/11 Exécution de requêtes de mise à jour :