Spec-Zone.ru › MySQL Connectors 1.0

7.1 Подключение к MySQL с помощью интерфейса JDBC DriverManager

При использовании JDBC вне приложения-сервера, класс DriverManager управляет установлением подключений.

Укажите классу DriverManager, какие драйверы JDBC следует использовать для создания подключений. Самый простой способ сделать это — использовать Class.forName() в классе, реализующем интерфейс java.sql.Driver. В MySQL Connector/J имя этого класса — com.mysql.cj.jdbc.Driver. С помощью этого метода можно использовать внешний конфигурационный файл для указания имени класса драйвера и параметров драйвера, используемых при подключении к базе данных.

Следующий фрагмент кода Java демонстрирует, как можно зарегистрировать MySQL Connector/J из метода main() вашего приложения. При тестировании этого кода сначала ознакомьтесь с разделом установки по адресу Глава 4, Установка Connector/J, чтобы убедиться, что вы правильно установили соединитель, и что CLASSPATH настроено. Также убедитесь, что MySQL настроен на прием внешних подключений по протоколу TCP/IP.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

// Notice, do not import com.mysql.cj.jdbc.*
// or you will have problems!

public class LoadDriver {
    public static void main(String[] args) {
        try {
            // The newInstance() call is a work around for some
            // broken Java implementations

            Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
        } catch (Exception ex) {
            // handle the error
        }
    }
}

После регистрации драйвера в DriverManager можно получить экземпляр Connection, подключенный к определенной базе данных, вызвав DriverManager.getConnection():

Пример 7.1 Connector/J: Получение подключения из DriverManager

Если вы еще этого не сделали, пожалуйста, ознакомьтесь с частью DriverManager">Раздела 7.1, «Подключение к MySQL с помощью интерфейса JDBC DriverManager» выше, прежде чем работать с примером ниже.

Этот пример демонстрирует, как получить экземпляр Connection из DriverManager. Существует несколько различных подписей для метода getConnection(). Для более подробной информации о том, как их использовать, обратитесь к документации API, поставляемой с вашей JDK.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

Connection conn = null;
...
try {
    conn =
       DriverManager.getConnection("jdbc:mysql://localhost/test?" +
                                   "user=minty&password=greatsqldb");

    // Do something with the Connection

   ...
} catch (SQLException ex) {
    // handle any errors
    System.out.println("SQLException: " + ex.getMessage());
    System.out.println("SQLState: " + ex.getSQLState());
    System.out.println("VendorError: " + ex.getErrorCode());
}

После установления Connection его можно использовать для создания объектов Statement и PreparedStatement, а также для извлечения метаданных о базе данных. Это описано в следующих разделах.


Когда имя пользователя для подключения не указано, реализации Connector/J для подключаемых модулей проверки подлинности по умолчанию используют имя пользователя ОС, под которым выполняется приложение, для проверки подлинности на сервере MySQL (за исключением случаев использования подключаемого модуля проверки подлинности Kerberos; см. Раздел 6.12.2, «Подключение с помощью Kerberos» для получения подробной информации).

Примечание

Имя пользователя считается не указанным только в том случае, если выполнены все следующие условия:

  1. Метод DriverManager.getConnection(String url, String user, String password) не используется.

  2. Свойство подключения user не используется, например, в URL подключения или где-либо еще.

  3. Имя пользователя не указано в авторитете URL подключения, как в jdbc:mysql://localhost:3306/test или jdbc:mysql://@localhost:3306/test.

Обратите внимание, что если условие (1) или (2) не выполняется, и передаётся пустая строка, имя пользователя будет пустой строкой и не будет считаться не указанным.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/connector-j-en/connector-j-usagenotes-connect-drivermanager.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API