Sobes.tech
Junior

JDBC qanday komponentlardan iborat?

sobes.tech AI

AIdan javob

JDBC (Java Database Connectivity) quyidagi asosiy komponentlardan iborat:

  • JDBC API: Java tilida yozilgan va turli ma'lumotlar bazalari bilan o'zaro aloqada bo'lish uchun standart usulni ta'minlaydigan interfeyslar va sinflar to'plami. Ushbu API dasturchilar tomonidan kod yozish uchun ishlatiladi.
  • JDBC Driver Manager: Turli JDBC drayverlarini boshqaradigan sinf. U drayverlarni yuklash va ma'lumotlar bazasi bilan ulanish uchun drayver nusxalarini taqdim etadi.
  • JDBC Driver: Maxsus ma'lumotlar bazasi boshqaruv tizimi (DBMS) uchun JDBC API interfeyslarini amalga oshiradigan dasturiy ta'minot. Turli JDBC drayver turlari mavjud:
    • Type 1 (JDBC-ODBC ko'prigi drayveri): JDBC chaqiruvlarini ODBC chaqiruvlariga aylantiradi. Mijoz tomonida ODBC drayverini o'rnatishni talab qiladi. Eskirgan.
    • Type 2 (Nativ API drayveri): JDBC chaqiruvlarini DBMS ning nativ API chaqiruvlariga aylantiradi. Mijoz tomonida DBMS ning nativ kodini o'rnatishni talab qiladi.
    • Type 3 (Tarmoq protokoli drayveri): JDBC chaqiruvlarini DBMS protokoliga tarjima qilish uchun vositachi serverdan foydalanadi. Mijoz tomonida nativ kod o'rnatishni talab qilmaydi.
    • Type 4 (Toza Java drayveri): 100% Java tilida yozilgan va JDBC chaqiruvlarini to'g'ridan-to'g'ri DBMS protokoliga aylantiradi. Eng keng tarqalgan turi.
  • Java Ilovasi: Java tilida yozilgan va JDBC API yordamida ma'lumotlar bazasiga ulanish va operatsiyalarni (DML, DDL) bajaradigan dastur.

Komponentlar o'rtasidagi o'zaro ta'sir quyidagicha:

  1. Java ilovasi JDBC API yordamida metodlarni chaqiradi.
  2. Chaqiriqlar JDBC Driver Manager ga yuboriladi.
  3. Driver Manager belgilangan ma'lumotlar bazasi uchun mos JDBC drayverini topadi va yuklaydi.
  4. JDBC drayver to'g'ridan-to'g'ri ma'lumotlar bazasi bilan muloqot qiladi, uning protokoli yoki nativ API ni ishlatadi (drayver turiga qarab).
  5. So'rov natijalari yoki xato haqida ma'lumotlar drayver, Driver Manager va JDBC API orqali Java ilovasiga qaytariladi.
// Java ilovasida JDBC API dan foydalanish misoli
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 {
            // Drayverni yuklash (zamonaviy Java versiyalarida ixtiyoriy)
            // Class.forName("com.mysql.cj.jdbc.Driver");

            // Driver Manager orqali ulanish
            connection = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/mydatabase", // Ma'lumotlar bazasi URL
                    "username", // Foydalanuvchi nomi
                    "password" // Parol
            );

            // SQL so'rovlarini bajarish uchun Statement yaratish
            statement = connection.createStatement();

            // SELECT so'rovini bajarish
            resultSet = statement.executeQuery("SELECT id, name FROM mytable");

            // Natijalarni qayta ishlash
            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 {
            // Resurslarni yopish
            try {
                if (resultSet != null) resultSet.close();
                if (statement != null) statement.close();
                if (connection != null) connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}