Рубрики
Без рубрики

Как На Самом Деле Работает Соединение JDBC?

Интерфейс подключения JDBC является частью пакета java.sql. Интерфейс java.sql.Connection определяет контракт для поставщиков реляционных баз данных. То

Автор оригинала: Pankaj Kumar.

Интерфейс подключения JDBC является частью пакета java.sql . Интерфейс java.sql.Connection определяет контракт для поставщиков реляционных баз данных. Классы соединений поставщика должны реализовывать эти методы. Экземпляр соединения используется для связи с базой данных.

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

Как установить соединение JDBC

Давайте рассмотрим следующие шаги для установления соединения JDBC.

1. Зарегистрируйте драйвер JDBC

Драйвер JDBC регистрируется с помощью приведенного ниже метода.

Class.forName(Строковое имя класса) : Этот метод используется для загрузки класса драйвера JDBC в память JVM. Строковый аргумент является полностью классифицированным именем класса реализации соединения.

// for MySQL
Class.forName("com.mysql.jdbc.Driver");

// for PostgreSQL
Class.forName("org.postgresql.Driver");

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

Прежде всего, файл jar драйвера JDBC включен в путь к классам приложения java. Класс DriverManager использует механизм поставщика услуг для поиска файлов jar с именем файла java.sql.Driver . Этот файл должен присутствовать в папке META-INF/services jar драйвера.

Это простой текстовый файл, содержащий полное имя класса, реализующего интерфейс java.sql.Driver . Например, полное имя драйвера MySQL-com.mysql.jdbc.Driver. Для драйвера PostgreSQL это org.postgresql.Driver.

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

public class VendorDriver implements java.sql.Driver
{ 
static {
	VendorDriver driver = new VendorDriver();
	DriverManager.registerDriver(driver);
          }
}

Драйвер Регистра Подключения Jdbc

Это позволит зарегистрировать экземпляр класса драйвера в диспетчере драйверов.

2. Создайте соединение JDBC

Мы можем получить соединение JDBC с помощью метода DriverManager.getConnection ().

Connection conn = DriverManager.getConnection(url, user, password);

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

  • url : URL-адрес JDBC, который используется для определения того, какую реализацию драйвера использовать для данного соединения.

    Первая часть указывает, что это URL-адрес JDBC.

    Вторая часть указывает поставщика драйверов, которым в нашем случае является PostgreSQL.

    В третьей части указывается имя хоста или IP-адрес с портом базы данных.

    В последней части указано имя базы данных.

  • пользователь : пользователь базы данных, для которой мы получаем соединение.
  • пароль : пароль для доступа к данной базе данных.

Создание Соединения Jdbc

Пример подключения JDBC

Давайте взглянем на приведенный ниже пример программы. В приведенной ниже программе я использовал базу данных PostgreSQL, поэтому я использовал соответствующий jar для PostgreSQL.

package com.journaldev.examples;

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

/**
 * JDBC Connection Example
 * 
 * @author pankaj
 *
 */
public class JDBCConnection {

	public static void main(String[] args) {
		Connection connection = null;
		try {
			System.out.println("------JDBC Connection Example--------");
			Class.forName("org.postgresql.Driver");
			connection = DriverManager.getConnection("jdbc:postgresql://localhost:5432/journaldev", "postgres", "admin");
			System.out.println("----JDBC Connection Established------");
			System.out.println("Catalog: "+connection.getCatalog());
			System.out.println("Schema: "+connection.getSchema());
			System.out.println("Info: "+connection.getClientInfo());
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			try {
				if (connection!=null) {
					connection.close();
					System.out.println("Connection is Closed.");
				}
			} catch (Exception e2) {
				e2.printStackTrace();
			}
		}
		
	}
}

Вывод :

Установите Вывод Программы Подключения Jdbc