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 шақыруларын басқару жүйесінің нативті API шақыруларына түрлендіреді. Клиент жағында басқару жүйесінің нативті кодын орнатуды талап етеді.
- Type 3 (Желілік-протокол драйвері): Ортақ сервер қолдану арқылы JDBC шақыруларын басқару жүйесінің протоколына түрлендіреді. Клиент жағында нативті код орнатуды талап етпейді.
- Type 4 (Таза Java драйвері): Толығымен Java-да жазылған және JDBC шақыруларын тікелей басқару жүйесінің протоколына түрлендіреді. Ең кең таралған түрі.
- Java қолданбасы: Java-да жазылған қолданба, ол JDBC API пайдаланып дерекқорға қосылады және операцияларды орындайды (DML, DDL).
Компоненттер арасындағы өзара әрекеттесу келесідей өтеді:
- Java-қолданба JDBC API пайдаланып әдістерді шақырады.
- Шақырулар JDBC Driver Manager-ге беріледі.
- Driver Manager сәйкес JDBC драйверін табады және жүктейді.
- JDBC драйвері дерекқормен тікелей өзара әрекеттеседі, оның протоколын немесе нативті API-ін пайдалана отырып.
- Сұраулардың нәтижелері немесе қателер туралы ақпарат драйвер, Driver Manager және JDBC API арқылы Java-қолданбаға қайтарылады.
// Java-қолданбада JDBC API пайдалану мысалы
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();
}
}
}
}