2013-11-29 5 views
-2

драйвер не означает все классы в ojdbc14.jar и classes12.jar или oracle.jdbc.driver.OracleDriver? Имеет ли слово драйвер имеет два контекста в JDBC?В чем разница между драйвером JDBC и классом водителя?

На сайте IBM я нашел,

JDBC API определяет интерфейсы Java и классы, которые программисты использовать для подключения к базам данных и отправки запросов. Драйвер JDBC реализует эти интерфейсы и классы для конкретного поставщика СУБД.

и в документации Oracle из OracleDriver класса

Метод registerDriver() принимает в качестве входных данных класса «драйвера», то есть, класс, который реализует интерфейс java.sql.Driver, как в случае с OracleDriver.

ответ

3

Драйвер Oracle JDBC в комплекте с ojdbc14.jar. Основной класс - oracle.jdbc.driver.OracleDriver, который можно рассматривать как отправную точку.

Файл JAR также содержит другие классы для привязки к различным типам данных (например, Date и Long), пулу соединений, источнику данных и т. Д., Которые используются классом OracleDriver.

Надеюсь, это поможет.

+0

Спасибо за ответ. Мой вопрос заключается в том, называются ли все эти классы драйвером или просто oracle.jdbc.driver.OracleDriver? – user12458

+3

Все эти классы вместе составляют драйвер JDBC Oracle. Так же, как если бы вы пишете большое приложение с именем * Foo * в Java, это приложение будет иметь много классов, и один из них, содержащий метод 'main()', также может быть назван * Foo *. –

0

Термин «класс драйвера» используется для обозначения класса, реализующего интерфейс java.sql.Driver, как указано в тексте, который вы указали. Нам нужно знать, какой класс является классом драйвера, потому что нам нужно загрузить этот класс, потому что он является точкой входа для установки самого драйвера или может быть установлен как JDBC-драйвер в Java. Вот почему существует эта терминология. Я признаю, что это не самый ясный.

0

Да, как сказал JB Nizet, oracle.jdbc.driver.OracleDriver является основным/начальным классом. В объектно-ориентированном программировании вы моделируете функции для разных целей в разных классах. Например, когда основной класс драйвера видит дату Java и должен преобразовать его в объект даты Oracle, он вызывает другой класс, специализированный для этой цели. Каждый тип данных обрабатывается другим классом, и такие вещи, как пул соединений/источники данных, являются отдельными классами, управляемыми в отдельных пакетах. Вместе они образуют рабочий JDBC-драйвер.

Смежные вопросы