Sobes.tech
Junior

JDBC қандай компоненттерден тұрады?

sobes.tech AI

AI-дан жауап

JDBC (Java Database Connectivity) негізгі компоненттерінен тұрады:

  • JDBC API: Java тілінде жазылған интерфейстер мен кластар жиынтығы, ол әртүрлі дерекқорлармен өзара әрекеттесу үшін стандартты әдіс ұсынады. Бұл API әзірлеушілерге код жазуда пайдаланылады.
  • JDBC Driver Manager: Әр түрлі JDBC драйверлерін басқаратын класс. Ол драйверлерді жүктеуді және дерекқорға қосылу үшін драйвердің мысалдарын ұсынуды қамтамасыз етеді.
  • JDBC Driver: Бұл бағдарламалық қамтамасыз ету, ол нақты басқару жүйесі үшін JDBC API интерфейстерін жүзеге асырады. Әр түрлі JDBC драйверлерінің түрлері бар:
    • Type 1 (JDBC-ODBC көпір драйвері): JDBC шақыруларын ODBC шақыруларына түрлендіреді. Клиент жағында ODBC драйверін орнатуды талап етеді. Ескірген.
    • Type 2 (Native-API драйвері): JDBC шақыруларын басқару жүйесінің нативті API шақыруларына түрлендіреді. Клиент жағында басқару жүйесінің нативті кодын орнатуды талап етеді.
    • Type 3 (Желілік-протокол драйвері): Ортақ сервер қолдану арқылы JDBC шақыруларын басқару жүйесінің протоколына түрлендіреді. Клиент жағында нативті код орнатуды талап етпейді.
    • Type 4 (Таза Java драйвері): Толығымен Java-да жазылған және JDBC шақыруларын тікелей басқару жүйесінің протоколына түрлендіреді. Ең кең таралған түрі.
  • Java қолданбасы: Java-да жазылған қолданба, ол JDBC API пайдаланып дерекқорға қосылады және операцияларды орындайды (DML, DDL).

Компоненттер арасындағы өзара әрекеттесу келесідей өтеді:

  1. Java-қолданба JDBC API пайдаланып әдістерді шақырады.
  2. Шақырулар JDBC Driver Manager-ге беріледі.
  3. Driver Manager сәйкес JDBC драйверін табады және жүктейді.
  4. JDBC драйвері дерекқормен тікелей өзара әрекеттеседі, оның протоколын немесе нативті API-ін пайдалана отырып.
  5. Сұраулардың нәтижелері немесе қателер туралы ақпарат драйвер, Driver Manager және JDBC API арқылы Java-қолданбаға қайтарылады.
// Java-қолданбада JDBC API пайдалану мысалы
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;

public class JdbcExample {

    public static void main(String[] args) {
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try {
            // Драйверді жүктеу (заманауи Java нұсқалары үшін міндетті емес)
            // Class.forName("com.mysql.cj.jdbc.Driver");

            // Driver Manager арқылы қосылу
            connection = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/mydatabase", // дерекқор URL
                    "username", // логин
                    "password" // құпия сөз
            );

            // SQL сұрауларын орындау үшін Statement құру
            statement = connection.createStatement();

            // SELECT сұрауын орындау
            resultSet = statement.executeQuery("SELECT id, name FROM mytable");

            // Нәтижелерді өңдеу
            while (resultSet.next()) {
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                System.out.println("ID: " + id + ", Name: " + name);
            }

        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            // Ресурстарды жабу
            try {
                if (resultSet != null) resultSet.close();
                if (statement != null) statement.close();
                if (connection != null) connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}