Sobes.tech
Junior

JDBC hansı komponentlərdən ibarətdir?

sobes.tech Süni İntellekt

AI-dan cavab

JDBC (Java Database Connectivity) aşağıdakı əsas komponentlərdən ibarətdir:

  • JDBC API: Java-da yazılmış interfeyslər və siniflər toplusu, müxtəlif verilənlər bazaları ilə standart qarşılıqlı əlaqə təmin edir. Bu API inkişaf etdiricilər tərəfindən kod yazmaq üçün istifadə olunur.
  • JDBC Driver Manager: Müxtəlif JDBC sürücülərini idarə edən sinif. Bu, sürücülərin yüklənməsindən və verilənlər bazası ilə əlaqə qurmaq üçün sürücü nümunələrinin təmin edilməsindən məsuldur.
  • JDBC Driver: Müəyyən bir verilənlər bazası idarəetmə sistemi (DBMS) üçün JDBC API interfeyslərini həyata keçirən proqram təminatı. Müxtəlif növ JDBC sürücüləri mövcuddur:
    • Tip 1 (JDBC-ODBC körüyü sürücüsü): JDBC çağırışlarını ODBC çağırışlarına çevirir. Müştəri tərəfində ODBC sürücüsünün quraşdırılmasını tələb edir. Köhnədir.
    • Tip 2 (Native-API sürücüsü): JDBC çağırışlarını DBMS-in yerli API çağırışlarına çevirir. Müştəri tərəfində DBMS-in yerli kodunun quraşdırılmasını tələb edir.
    • Tip 3 (Şəbəkə-Protokol sürücüsü): JDBC çağırışlarını DBMS protokoluna çevirmək üçün vasitəçi server istifadə edir. Müştəri tərəfində yerli kodun quraşdırılmasını tələb etmir.
    • Tip 4 (Təmiz Java sürücüsü): Tamamilə Java ilə yazılmışdır və JDBC çağırışlarını birbaşa DBMS protokoluna çevirir. Ən yaygın növ.
  • Java Tətbiqi: Java-da yazılmış tətbiq, JDBC API-dən istifadə edərək verilənlər bazasına qoşulur və əməliyyatları yerinə yetirir (DML, DDL).

Komponentlər arasındakı qarşılıqlı əlaqə aşağıdakı kimi baş verir:

  1. Java tətbiqi JDBC API-dən istifadə edərək metodları çağırır.
  2. Çağırışlar JDBC Driver Manager-ə ötürülür.
  3. Driver Manager uyğun JDBC sürücüsünü tapır və yükləyir.
  4. JDBC sürücüsü birbaşa verilənlər bazası ilə əlaqə qurur, onun protokolu və ya yerli API-dən istifadə edir (sürücü növündən asılı olaraq).
  5. Sorğuların nəticələri və ya səhvlər haqqında məlumatlar sürücü, Driver Manager və JDBC API vasitəsilə Java tətbiqinə geri qaytarılır.
// Java tətbiqində JDBC API-nin istifadəsinə nümunə
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 {
            // Sürücünün yüklənməsi (müasir Java versiyaları üçün opsional)
            // Class.forName("com.mysql.cj.jdbc.Driver");

            // Driver Manager vasitəsilə əlaqə alınması
            connection = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/mydatabase", // Verilənlər bazası URL-i
                    "username", // İstifadəçi adı
                    "password" // Parol
            );

            // SQL sorğularını yerinə yetirmək üçün Statement yaradılması
            statement = connection.createStatement();

            // SELECT sorğusunun yerinə yetirilməsi
            resultSet = statement.executeQuery("SELECT id, name FROM mytable");

            // Nəticələrin işlənməsi
            while (resultSet.next()) {
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                System.out.println("ID: " + id + ", Ad: " + name);
            }

        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            // Resursların bağlanması
            try {
                if (resultSet != null) resultSet.close();
                if (statement != null) statement.close();
                if (connection != null) connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}