L'écriture de programmes Java accédant à des bases de données nécessite également plusieurs classes et interfaces importantes.
Classe DriverManager
La classe DriverManager gère le chargement des pilotes et l'établissement de nouvelles connexions à la base de données. DriverManager est une classe du package java.sql utilisée pour gérer les pilotes de base de données. Habituellement, les applications utilisent uniquement la méthode statique getConnection() de la classe DriverManager pour établir une connexion avec la base de données et renvoyer un objet Connection :
Connexion statique getConnection (URL de chaîne, nom d'utilisateur de chaîne, mot de passe de chaîne)
Spécifiez le nom d'utilisateur et le mot de passe URL des données pour créer un objet de connexion à la base de données. Le format de syntaxe de l'URL est :
jdbc:<mécanisme de connexion à la base de données>:<nom de la base de données ODBC>.
Classe de connexion
La classe Connection est une classe du package java.sql qui gère les connexions à une base de données spécifique. L'objet Connection est un objet utilisé pour représenter une connexion à une base de données. Les programmes Java fonctionnent sur ce type d'objet. Les principales méthodes de la classe Connection sont :
Classe de déclaration
La classe Statement est une classe du package java.sql utilisée pour traiter les instructions SQL dans une connexion spécifiée. Le but de la programmation de bases de données est d'intégrer des commandes SQL dans le programme. Le programme doit déclarer et créer un objet Connection pour se connecter à la base de données et laisser l'objet se connecter à la base de données. Appelez la méthode statique getConnection() de la classe DriverManager pour obtenir l'objet Connection permettant de connecter le programme à la base de données. Ensuite, utilisez la classe Statement pour déclarer l'objet instruction SQL et appelez la méthode createStatement() de l'objet Connection pour créer l'objet instruction SQL. Par exemple, le code suivant crée l'objet d'instruction sql :
Instruction sql = null ; try{ sql = con.createStatement(); }catch(SQLException e){}
Classe ResultSet
Après avoir obtenu l'objet instruction SQL, appelez la méthode executeQuery() de l'objet instruction pour exécuter la requête SQL et stocker les résultats de la requête dans un objet déclaré avec la classe ResultSet. Par exemple, le code suivant lit la table des scores des étudiants et les stocke. dans l'objet rs :
ResultSet rs = sql.executeQuery("SELECT * FROM ksInfo");
L'objet ResultSet est en fait un tableau de données de résultat de requête. Il s'agit d'un ensemble de données tubulaire composé de lignes de données sous une forme unifiée, et une ligne correspond à un enregistrement de requête. Il existe un curseur implicite dans l'objet ResultSet. Seule la ligne de données actuellement pointée par le curseur peut être obtenue à la fois. Utilisez la méthode next pour obtenir la ligne de données suivante. Utilisez le nom du champ (colonne) ou l'index de position (à partir de 1) de la ligne de données pour appeler la méthode getXXX() afin d'obtenir le champ de l'enregistrement. Voici quelques méthodes de l'objet ResultSet :
columnIndex dans la méthode ci-dessus est l'index de position, utilisé pour spécifier le champ, et columnName est le nom du champ.
L'utilisateur doit parcourir l'ensemble de résultats de la requête, ou avancer et reculer, ou afficher les enregistrements spécifiés de l'ensemble de résultats. C'est ce qu'on appelle un ensemble de résultats déroulant. Pour obtenir un jeu de résultats déroulant, le programme n'a besoin que d'ajouter deux paramètres du jeu de résultats spécifié lors de l'obtention de l'objet d'instruction SQL. Par exemple, le code suivant :
Instruction stmt = con.createStatement(type,concurrency); ResultSet rs = stmt.executeQuery(instruction SQL)
La requête SQL de l'objet d'instruction stmt peut obtenir le jeu de résultats du type correspondant.
Le paramètre type int type détermine la méthode de défilement de l'ensemble déroulant :
La concurrence du paramètre de type int détermine si la base de données est mise à jour de manière synchrone avec l'ensemble déroulant :
Par exemple, le code suivant utilise l'objet de connexion connect pour créer l'objet Statement stmt, spécifie que le jeu de résultats peut défiler et lit la base de données en mode lecture seule :
stmt = connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
Certaines autres méthodes couramment utilisées sur les ensembles déroulants sont les suivantes :