Chargement du pilote JDBC
Je me suis dit que la méthode préférée pour charger le pilote JDBC est :
Class.forName(driverName);
Je comprends que c'est mieux pour une dynamique de décision entre plusieurs pilotes peut-être lu à partir d'un fichier de configuration XML ou la saisie de l'utilisateur. La chose que je suis curieux de savoir comment invoquer cette déclaration des charges a déclaré le pilote dans l'environnement où nous ne sommes pas à même de stocker la résultante de la "Classe" objet n'importe où. La Javadoc entrée dit:
public static Class forName(String className)
throws ClassNotFoundExceptionReturns
renvoie la Classe de l'objet associé à la classe ou de l'interface avec le nom de la chaîne de
Dans ce cas, comment les développeurs Java réussi à faciliter l'existence de l'objet de pilote avec seulement cette déclaration?
source d'informationauteur mihsathe
Vous devez vous connecter pour publier un commentaire.
La
Class#forName()
exécute le les initialiseurs statiques (vous savez,static
s'applique à la classe, et non à l'instance). Le pilote JDBC de la mise en œuvre devrait inscrire lui-même dans l'initialiseur statique.Noter qu'il existe buggy pilotes JDBC comme
org.gjt.mm.mysql.Driver
qui enregistre incorrectement lui-même à l'intérieur du constructeur de la place. C'est pourquoi vous avez besoin d'unnewInstance()
appel par la suite sur ces pilotes pour les amener à s'inscrire eux-mêmes.