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
- JDBC-ODBC Bridge (Тип 1): этот драйвер использует драйвер ODBC для подключения к базе данных сервера. У вас должен быть установлен драйвер ODBC на машине, которую вы хотите подключить к базе данных, поэтому этот драйвер устарел и должен использоваться только тогда, когда у вас нет выбора.
- The Native API (Тип 2): Этот тип преобразует JDBC-ордера для вызова базы данных через собственный драйвер на клиенте. Для установки соединения на машине должен быть установлен API клиентской базы данных.
- Драйвер, написанный на java с использованием промежуточного ПО (Тип 3): Этот тип использует сетевой протокол для отправки сообщений на промежуточный сервер, который может взаимодействовать с различными типами баз данных. Этот драйвер можно легко использовать с апплетом, но у вас должен быть сервер. Промежуточный  устанавливается для работы с этим драйвером. Этот драйвер не получил широкого распространения из-за: его низкая производительность.
- Драйвер 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: просмотреть результаты, полученные из базы данных в случае выбора данных.
Конфигурация - это самое важное при использовании JDBC API. Первое, что нужно сделать, это выбрать, какой класс драйвера использовать. Для MySQL драйвер com.mysql.jdbc.Driver а для Oracle это oracle.jdbc.driver.OracleDriver. Оба реализуют интерфейс java.sql.Водитель. Вы можете найти эти два класса в их jar.
Вторая важная вещь - это url подключения к базе данных. У каждого драйвера своя конфигурация url, но у них одна и та же. хост, порт et схема в URL-адресе подключения. Для входа в MySQL формат jdbc:mysql://< ВЕДУЩИЙ>:< ПОРТ>:< СХЕМА> .
Еще одной важной деталью является логин и пароль для подключения к базе данных.
Чтобы установить соединение с базой данных MySQL, необходимо создать экземпляр объекта класса Connection, указав url для доступа к нему. Метод getConnection() создает соединение с:
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;Сначала мы считываем конфигурацию базы данных из файла свойств, затем загружаем драйвер JDBC и используем DriverManager для создания соединения. Вызов метода Class.forName() важен, потому что он создает экземпляр класса не с оператором new, а просто создает его и не использует. Объект будет создан в памяти и подключен сам к DriverManager.
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;
}
}
Чтобы установить соединение с базой данных MySQL, необходимо создать экземпляр объекта класса Connection, указав url для доступа к нему. Метод getConnection() создает соединение с:
- Именем базы данных, указав url
- Имя пользователя
- Пароль