Il s'agit d'écrire une petite application permettant de vous connecter à une base de données (Oracle dans ce cas précis) et d'effectuer :
Java propose un mécanisme d'accès aux bases de données très puissant, il s'agit de JDBC pour Java DataBase Connection. Le principe est simple et permet d'écrire des programmes Java indépendant de la base de données sur laquelle on travaille :
Le package java.sql propose un ensemble d'interfaces et de classes permettant de se connecter, d'interroger et de traiter les résultats de requêtes sur des bases de données SQL.
Le fonctionnement se fait donc en quatre étapes :
Toutefois, avant de pouvoir se connecte à une base de données en utilisant les classes et interfaces de java.sql, il convient de charger un package archive contenant des drivers spécifiques au type de BD que l'on souhaite interroger. Dans ce TD, nous allons nous connecter à la base de données Oracle10 installée sur bd-oracle.etudiant.upf.pf et pour laquelle vous possédez tous des comptes, il nous faut donc des drivers de BD pour Oracle 10. Chaque garnd fournisseur de BD (Oracle, mySQL, PostGreSQL, MS Access, ...) fournit un package java contenant des drivers spécifique à sa BD. Ces drivers sont des classes java déjà compilées en byte-Code et fournies sous la forme de fichier archive de type JAR (Java ARchive). Un fichier JAR contient généralement des classes compilées et de des fichiers javaDoc d'explication.
Pour intégrer un fichier JAR dans un projet Eclipse, il faut :
Une fois le fichier jar intégré à votre projet, il faudra, dans votre méthode connexionBD, demander explicitement le chargement de la classe oracle.jdbc.driver.OracleDriver en utilisant la méthode Class.forName
La classe java.sql.DriverManager et l'interface java.sql.Connection vous fournissent les moyens de vous connecter à une base de données dont vous aurez auparavant chargé les drivers spécifiques, à vous de chercher un peu ...
La classe Statement vous fournit aussi bien les méthodes d'interrogation (Query) que les méthodes de mise à jour (Update) de la base. Le retour de la reqûte sera stocké dans un objet ResultSet. Noubliez de fermer votre objet en fin d'interrogation/update.
Vous afficherez ligne par ligne (next) le contenu de votre objet ResultSet en extrayant les colonnes : à vous de chercher un peu ... Noubliez de fermer votre objet en fin d'affichage.
Une application nommée ConnexionOracle contenant :