Какова цель «Class.forName (« MY_JDBC_DRIVER »)»?

Я понимаю, что загрузка класса полезна для загрузки класса во время выполнения с его именем класса.

Однако при использовании JDBC в нашем проекте мы знаем, какой драйвер мы собираемся использовать, и в большинстве случаев строка диспетчера драйверов жестко запрограммирована.

Мой вопрос: почему мы загружаем драйвер, используя здесь Class.forName ("JDBC_DRIVER") ?
Почему мы не можем продолжить добавление драйвера в путь к классам ? поскольку мы знаем, какой драйвер jar мы собираемся использовать.

Я считаю, что Class.forName (JDBC_DRIVER) загрузит драйвер в DriverManager . Это единственная причина?

Редактировать 1:

В документе DriverManager API указано, что

В рамках инициализации (DriverManager) класс DriverManager попытается загрузить классы драйверов, указанные в системном свойстве jdbc.drivers.

Приложениям больше не нужно явно загружать драйверы JDBC с помощью Class.forName () . Существующие программы, которые в настоящее время загружают драйверы JDBC с помощью Class.forName () , будут продолжать работать без изменений.

Затем, когда я использую драйвер, отличный от oracle; мне нужно изменить строку имени драйвера в системном свойстве?

22
задан Mark Rotteveel 11 May 2016 в 10:46
поделиться