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:
- Java tətbiqi JDBC API-dən istifadə edərək metodları çağırır.
- Çağırışlar JDBC Driver Manager-ə ötürülür.
- Driver Manager uyğun JDBC sürücüsünü tapır və yükləyir.
- 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).
- 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();
}
}
}
}