Maison >base de données >tutoriel mysql >Class.forName(JDBC_DRIVER) est-il vraiment obsolète depuis Java 6 ?

Class.forName(JDBC_DRIVER) est-il vraiment obsolète depuis Java 6 ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-05 01:49:44227parcourir

Is Class.forName(JDBC_DRIVER) Really Obsolete Since Java 6?

Class.forName (JDBC_DRIVER) n'est plus requis dans Java 6

L'article traite de la prétendue élimination de la nécessité d'enregistrer un pilote JDBC utilisant Class.forName(JDBC_DRIVER) depuis Java 6. Cette hypothèse découle de la conviction que DriverManager s'appuie sur le système propriété "jdbc.drivers" pour localiser le pilote approprié.

Cependant, l'impression de la valeur de System.getProperty("jdbc.drivers") renvoie null, laissant les utilisateurs perplexes quant à la raison pour laquelle leurs applications continuent de fonctionner correctement.

Réponse

La fonctionnalité apparente de l'application malgré l'absence du La propriété système "jdbc.drivers" n'est pas liée à cette propriété. Java 6 a introduit le concept de fournisseurs de services, qui permet à la JVM de détecter automatiquement les implémentations d'interfaces connues au démarrage.

Les pilotes JDBC qui adhèrent à ce mécanisme sont automatiquement enregistrés par DriverManager, ce qui rend Class.forName() inutile. . Cependant, cela ne s'applique que si le pilote prend en charge l'enregistrement du fournisseur de services.

Pour lancer l'enregistrement du service, le pilote doit inclure un répertoire nommé « services » dans le répertoire META-INF dans son fichier JAR. Ce répertoire doit contenir un fichier texte nommé "java.sql.Driver" qui spécifie la classe d'implémentation du pilote JDBC.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn