java database connectivity
Java Database Connectivity (JDBC) — это стандартный API (интерфейс программирования приложений) в Java, который позволяет Java-программам взаимодействовать с различными базами данных. JDBC предоставляет методы для выполнения SQL-запросов, обработки результатов и управления транзакциями. Это позволяет разработчикам создавать приложения, которые могут работать с данными, хранящимися в реляционных базах данных. Основные компоненты JDBC
JDBC Driver: Это программный компонент, который позволяет Java-приложению взаимодействовать с конкретной базой данных. Существует несколько типов драйверов JDBC:
Тип 1: JDBC-ODBC Bridge Driver — использует ODBC для подключения к базе данных.
Тип 2: Native-API Driver — использует клиентские библиотеки базы данных.
Тип 3: Network Protocol Driver — использует сетевой протокол для взаимодействия с сервером базы данных.
Тип 4: Thin Driver — чисто Java-драйвер, который взаимодействует с базой данных напрямую через сетевой протокол.
Connection: Интерфейс, который представляет соединение с базой данных. Он используется для создания объектов Statement, PreparedStatement и CallableStatement.
Statement: Интерфейс, который используется для выполнения SQL-запросов. Существует три типа:
Statement: для выполнения простых SQL-запросов.
PreparedStatement: для выполнения параметризованных SQL-запросов.
CallableStatement: для выполнения хранимых процедур.
ResultSet: Интерфейс, который представляет результат выполнения SQL-запроса. Он позволяет извлекать данные из базы данных.
Пример использования JDBC
Рассмотрим простой пример, в котором мы подключаемся к базе данных SQLite, создаем таблицу, вставляем данные и извлекаем их. Шаг 1: Добавление зависимости
Если вы используете Maven, добавьте следующую зависимость в ваш pom.xml для работы с SQLite:
<dependency>
<groupId>org.xerial.sqlite-jdbc</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.36.0.3</version>
</dependency>
Шаг 2: Пример кода
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcExample {
public static void main(String[] args) {
String url = "jdbc:sqlite:sample.db"; // URL к базе данных SQLite
try (Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement()) {
// Создание таблицы
String createTableSQL = "CREATE TABLE IF NOT EXISTS employees ("
+ "id INTEGER PRIMARY KEY AUTOINCREMENT,"
+ "first_name TEXT NOT NULL,"
+ "last_name TEXT NOT NULL);";
stmt.execute(createTableSQL);
// Вставка данных
String insertSQL = "INSERT INTO employees (first_name, last_name) VALUES ('John', 'Doe');";
stmt.executeUpdate(insertSQL);
insertSQL = "INSERT INTO employees (first_name, last_name) VALUES ('Jane', 'Smith');";
stmt.executeUpdate(insertSQL);
// Извлечение данных
String selectSQL = "SELECT * FROM employees;";
ResultSet rs = stmt.executeQuery(selectSQL);
// Обработка результатов
while (rs.next()) {
int id = rs.getInt("id");
String firstName = rs.getString("first_name");
String lastName = rs.getString("last_name");
System.out.println("ID: " + id + ", Имя: " + firstName + ", Фамилия: " + lastName);
}
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}
Объяснение кода
Подключение к базе данных: Мы используем DriverManager.getConnection(url) для получения соединения с базой данных SQLite.
Создание таблицы: Мы создаем таблицу employees, если она еще не существует.
Вставка данных: Мы вставляем несколько записей в таблицу.
Извлечение данных: Мы выполняем SQL-запрос для получения всех записей из таблицы и обрабатываем результаты с помощью ResultSet.
Обработка исключений: Мы обрабатываем возможные исключения, связанные с работой с базой данных.
Заключение
JDBC — это мощный инструмент для работы с базами данных в Java. Он позволяет разработчикам выполнять различные операции с данными, обеспечивая гибкость и возможность интеграции с различными реляционными базами данных.
пример
https://gitlab.com/synergy9980417/razdel2/6_2