Skip to content

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