Ответ
JDBC (Java Database Connectivity) — это спецификация (API), а не готовая реализация.
- JDBC API: Набор интерфейсов, определенных в пакетах
java.sqlиjavax.sql(например,Driver,Connection,Statement,ResultSet). Он описывает, как Java-приложение должно взаимодействовать с любой реляционной СУБД. - Реализация (драйвер): Конкретный JAR-файл, предоставляемый вендором СУБД (Oracle, MySQL, PostgreSQL). Этот драйвер реализует интерфейсы JDBC для своей конкретной базы данных.
Пример работы:
// 1. Загрузка драйвера (специфическая реализация для MySQL)
Class.forName("com.mysql.cj.jdbc.Driver");
// 2. Получение соединения через стандартный интерфейс JDBC `DriverManager`
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/mydb", // URL, специфичный для драйвера
"user",
"password"
);
// 3. Использование стандартных интерфейсов JDBC
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT id, name FROM users");
while (rs.next()) {
// Работа через стандартные методы JDBC API
int id = rs.getInt("id");
String name = rs.getString("name");
System.out.println(id + ": " + name);
}
Это разделение позволяет писать код, не зависящий от конкретной базы данных.