Sobes.tech
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 программасы:

Компоненттердин өз ара аракеттенүүсү төмөндөгүчө өтөт:

  1. Java колдонмосу JDBC API колдонуп, методдорду чакырат:
  2. Чакыруулар JDBC Driver Manager аркылуу өтөт:
  3. Driver Manager белгилүү маалыматтар базасы үчүн ылайыктуу JDBC драйверин табат жана жүктөйт:
  4. JDBC драйвер түздөн-түз маалыматтар базасы менен өз ара аракеттенет, анын протоколу же native API колдонуп (драйвердин түрүнө жараша):
  5. Суроолордун натыйжалары же каталар тууралуу маалымат драйвер, 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();
            }
        }
    }
}