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:
- Java ilovasi JDBC API yordamida metodlarni chaqiradi.
- Chaqiriqlar JDBC Driver Manager ga yuboriladi.
- Driver Manager belgilangan ma'lumotlar bazasi uchun mos JDBC drayverini topadi va yuklaydi.
- JDBC drayver to'g'ridan-to'g'ri ma'lumotlar bazasi bilan muloqot qiladi, uning protokoli yoki nativ API ni ishlatadi (drayver turiga qarab).
- 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();
}
}
}
}