Olivier Schaerer 2004-2005 / IGS3
L'interface Driver définit donc des objets pouvant s'inscrire ou être inscrits auprès de
DriverManager via la méthode statique registerDriver.
3. L’objet de type IGSDriver enregistré auprès du DriverManager est capable de créer des
objets de type Connection (par exemple, dans notre cas, de type IGSConnection). Ainsi,
lorsque le client demande une Connection au DriverManager, ce dernier en délègue la
création à l’objet IGSDriver qu’il encapsule.
Une Connection fournit des outils de manipulation des informations de la base de données.
Parmi ces objets, on trouve des Statement, plus précisemment, des instances de classes
implémentant l'interface Statement (voir IGSStatement).
4. Le client peut invoquer la méthode createStatement afiin d’obtenir un Statement. Ce
dernier permettra entre autre d’exécuter des requêtes sur la source de données (BDD). C'est
donc l'objet IGSConnection qui crée des instances de type Statement, particulièrement,
dans notre cas, de type IGSStatement.
5. Finalement, une fois le résultat de la requête obtenu, l'instance de type IGSStatement crée
un objet de la classe IGSResultSet. Cette dernière implémente l'interface ResultSet et
permet de parcourir entre autre le résultat d'un SELECT.
Diagrammes de séquences
Le diagramme ci-dessous présente les enchaînements nécessaires à la création d’un objet de
type Connection.
Object3 :
DriverManager
Object2 : IGSDriver
Client : Actor1 Classe IGSDriverObject1 : Class
1 : forName ( arg )
2 : \bloc static\
3 : \New\
4 : registerDriver ( driver )
5 : getConnection ( url , name , pwd )
6 : connect ( url , Properties )
Dynamic loading
-------------------->
une Connection
une Connection
C'est la classe IGSDriver qui
créee une instance d'elle même !
Figure 2
Chargement du driver et création d’un objet Connection
Le diagramme suivant présente les étapes pour effectuer une requête (SELECT) sur la
base de données et récupérer les données dans un ResultSet.