О драйверах JDBC - PullRequest
       2

О драйверах JDBC

0 голосов
/ 06 марта 2012

Я читал о драйверах, использующих JDBC API, в книге.Не понятно насчет объяснения.Я хочу знать, какой тип драйвера использует приведенный ниже код.Это драйвер типа 4 (драйвер Java, предоставляемый поставщиком базы данных).Было упомянуто, что ничего не нужно устанавливать в клиентском приложении для драйверов типа 4.Но все же нам нужно иметь файл класса com.mysql.jdbc.Driver, чтобы код работал.Не уверен, что здесь имеется в виду.

Также было упомянуто, что диски типа 2 используют двоичный код драйвера от поставщика базы данных, и его необходимо установить на клиенте.Чем он отличается от приведенного ниже примера.Было бы полезно, если бы можно было вставить образец кода для доступа к драйверам типа 2.

Class.forName("com.mysql.jdbc.Driver").newInstance();
String url = "jdbc:mysql://localhost/coffeebreak";
conn = DriverManager.getConnection(url, "username", "password");
doTests();
conn.close();

1 Ответ

4 голосов
/ 06 марта 2012

Когда вы видите фразу «ничего не нужно устанавливать» в отношении драйверов JDBC типа 4 (особенно в старой документации), это означает, что на клиентском компьютере не нужно устанавливать ничего, кроме самого jar драйвера. Вам понадобится банка с водителем, несмотря ни на что, но с другими типами:

  • Тип 1: ODBC и драйвер ODBC должны быть установлены в клиентской системе
  • Тип 2: в клиентской системе должен быть установлен собственный драйвер базы данных
  • Тип 3: между клиентской системой и базой данных должен быть установлен прокси-сервер протокола

Так, например, для драйвера Oracle типа 2 (в дополнение к самому jar-файлу jdbc) требуется полная установка клиента Oracle на компьютере, на котором будет выполняться код Java.

Пара заметок:

  • Поскольку java 6 (IIRC) с современным драйвером jdbc, вам больше не нужен оператор Class.forName. Новые драйверы JDBC теперь регистрируются автоматически.

  • Вы не можете сказать, просто взглянув на код, который его использует (вот и весь смысл), но драйвер mysql jdbc является драйвером типа 4.

  • Поскольку вы не можете заметить разницу с помощью драйвера, пример кода для использования драйвера типа 2 совпадает с тем, что вы указали в вопросе.

  • Все типы драйверов jdbc (за исключением 1-го типа, поскольку их было только 1) предоставляют драйверы, предоставляемые поставщиком. Тип относится к тому, как драйвер подключается к базе данных, а не к тому, кто ее предоставляет.

  • Драйверы типа 2 в наши дни довольно редки, и, по-моему, никто больше вообще не использует драйверы типа 1 или 3.

  • В наши дни почти все современные, производительные драйверы jdbc относятся к типу 4. (Я знаю, что oracle предоставляет драйверы как для типа 2, так и для типа 4, но это единственный, о котором я могу подумать, и два драйвера имеют одинаковые функции.) Используйте тип 4, если у вас нет особых рекомендаций от от поставщика базы данных.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...