Java - Подключение к MySQL с помощью драйвера JDBC

В этой главе вы изучите базы данных в java, создав простую базу данных с одной таблицей, и узнаете, как установить соединение с помощью java.

Java использует API с именем JDBC(Java Database Connectivity) для подключения к базе данных  Данные.  JDBC позволяет подключаться к большому количеству менеджеров баз данных, таких как Oracle, MySQL, PostGre и т.д.

Что такое JDBC?

JDBC (Подключение к базе данных Java)  — интерфейс соединения между программой Java и базой данных SQL, принадлежащей компании Oracle, созданный компанией Sun Microsystems и доступный начиная с версии JDK 1.1. Эта технология представляет собой драйвер, который определяет, как клиент имеет доступ к базе данных MySQL. Драйвер JDBC предоставляет методы для запроса и обновления данных в базе данных. JDBC - это инструмент для реляционных баз данных.

JDBC-классы содержатся в пакете  java.sql  и  javax.sql. JDBC допускает несколько реализаций в одном и том же приложении. API основан на механизме, который помогает динамически загружать соответствующие пакеты и сохранять их с помощью Driver Manager. JDBC API используется для создания JDBC.

JDBC API используется для выполнения следующих задач:
  • Установить соединение с реляционной базой данных, такой как MySQL, Oracle и т.д.
  • Отправлять SQL-запросы для выполнения на сервере базы данных.
  • Process Результаты, возвращаемые выполнением SQL.

JDBC

  1. JDBC-ODBC Bridge  (Тип 1): этот драйвер использует драйвер ODBC для подключения к базе данных сервера. У вас должен быть установлен драйвер ODBC на машине, которую вы хотите подключить к базе данных, поэтому этот драйвер устарел и должен использоваться только тогда, когда у вас нет выбора.
  2. The Native API  (Тип 2): Этот тип преобразует JDBC-ордера для вызова базы данных через собственный драйвер на клиенте. Для установки соединения на машине должен быть установлен API клиентской базы данных.
  3. Драйвер, написанный на java с использованием промежуточного ПО  (Тип 3): Этот тип использует сетевой протокол для отправки сообщений на промежуточный сервер, который может взаимодействовать с различными типами баз данных. Этот драйвер можно легко использовать с апплетом, но у вас должен быть сервер. Промежуточный  устанавливается для работы с этим драйвером. Этот драйвер не получил широкого распространения из-за: его низкая производительность.
  4. Драйвер Java, использующий родной протокол  (Тип 4): Этот драйвер является предпочтительным, так как он напрямую обращается к базе данных, преобразуя сообщения JDBC в сетевой протокол, совместимый с сервером. Мы должны использовать специфические драйверы, такие как  OJDBC  предоставлено Oracle и MySQL Connector/J  для баз данных MySQL.

JDBC API classes

Classes находятся в пакетах  <б>java.sql. 4 важных класса: DriverManager, Connection, Statement и PreparedStatement, а также ResultSet.

DriverManager: отвечает за загрузку и настройку базы данных.
Connection: аутентификация в database.
Statement: отправить SQL-запрос в database.
ResultSet: просмотреть результаты, полученные из базы данных в случае выбора данных.

Database Configuration

Мы прочитаем подробную конфигурацию базы данных из файлов, поэтому мы можем легко переключиться с Oracle на MySQL и изменить ее, изменив следующие детали:

#mysql свойства БД
#DB_DRIVER_CLASS=com.mysql.jdbc.Driver
#DB_URL=jdbc:mysql://localhost:3306/UserDB
#DB_USERNAME=usermysql
#DB_PASSWORD=usermysqlpw
#Oracle Свойства БД
DB_DRIVER_CLASS=oracle.jdbc.driver.OracleDriver
DB_URL=jdbc:oracle:thin:@localhost:1571:MyDBSID
DB_USERNAME=useroracle
DB_PASSWORD=useroraclepw

Конфигурация - это самое важное при использовании JDBC API. Первое, что нужно сделать, это выбрать, какой класс драйвера использовать. Для MySQL драйвер   com.mysql.jdbc.Driver  а для Oracle это oracle.jdbc.driver.OracleDriver. Оба реализуют интерфейс java.sql.Водитель. Вы можете найти эти два класса в их jar.

Вторая важная вещь - это url подключения к базе данных. У каждого драйвера своя конфигурация url, но у них одна и та же. хостпорт  et  схема  в URL-адресе подключения. Для входа в MySQL формат   jdbc:mysql://< ВЕДУЩИЙ>:< ПОРТ>:< СХЕМА> .

Еще одной важной деталью является логин и пароль для подключения к базе данных.

Подключение к MySQL database

Эта программа считывает свойства и создает соединение с MySQL.

import java.io.FileInputStream; 
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class DBConnection {

public static Connection getConnection() {
Properties props = new Properties();
FileInputStream fis = null;
Соединение con = null;
try {
fis = new FileInputStream("db.properties");
props.load(fis);

// загружаем драйвер class
Class.forName(props.getProperty("DB_DRIVER_CLASS"));

// создаем соединение сейчас
con = DriverManager.getConnection(props.getProperty("DB_URL"),
props.getProperty("DB_USERNAME"),
props.getProperty("DB_PASSWORD"));
} catch (IOException | Исключение ClassNotFoundException | SQLException e) {
// TODO Автоматически сгенерированный catch block
e.printStackTrace();
}
return con;
}
}
Сначала мы считываем конфигурацию базы данных из файла свойств, затем загружаем драйвер JDBC и используем DriverManager для создания соединения. Вызов метода Class.forName() важен, потому что он создает экземпляр класса не с оператором new, а просто создает его и не использует. Объект будет создан в памяти и подключен сам к DriverManager.

Чтобы установить соединение с базой данных MySQL, необходимо создать экземпляр объекта класса Connection, указав url для доступа к нему. Метод getConnection() создает соединение с:
  • Именем базы данных, указав url
  • Имя пользователя
  • Пароль
Метод getConnection()  выдает исключение java.sql.SQLException, если соединение не удалось.