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 чакырууларын native API чакырууларына айлантат. Клиент тарапта native кодду орнотууну талап кылат:
- Type 3 (Network-Protocol драйвер): JDBC чакырууларын трансляциялоо үчүн арадагы серверди колдонуп, маалыматтар базасынын протоколуна өткөрөт. Клиент тарапта native кодду орнотууну талап кылбайт:
- Type 4 (Pure Java драйвер): 100% Java жазылган жана JDBC чакырууларын түз эле маалыматтар базасынын протоколуна айлантат. Эң кеңири тараган түрү:
- Java колдонмосу: JDBC API колдонуп, маалыматтар базасына туташып, операцияларды (DML, DDL) аткарган Java программасы:
Компоненттердин өз ара аракеттенүүсү төмөндөгүчө өтөт:
- Java колдонмосу JDBC API колдонуп, методдорду чакырат:
- Чакыруулар JDBC Driver Manager аркылуу өтөт:
- Driver Manager белгилүү маалыматтар базасы үчүн ылайыктуу JDBC драйверин табат жана жүктөйт:
- JDBC драйвер түздөн-түз маалыматтар базасы менен өз ара аракеттенет, анын протоколу же native API колдонуп (драйвердин түрүнө жараша):
- Суроолордун натыйжалары же каталар тууралуу маалымат драйвер, Driver Manager жана JDBC API аркылуу кайра Java колдонмосуна кайтарылает:
// JDBC API колдонуу мисалы Java колдонмосунда
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();
}
}
}
}