Java Database Connectivity

програмне забезпечення

Java DataBase Connectivity (англ. Java DataBase Connectivity — з'єднання з базами даних на Java), скорочено JDBC) — прикладний програмний інтерфейс Java, який визначає методи, з допомогою яких програмне забезпечення на Java здійснює доступ до бази даних. JDBC — це платформо-незалежний промисловий стандарт взаємодії Java-застосунків з різноманітними СУБД, реалізований у вигляді пакета java.sql, що входить до складу Java SE.

В основі JDBC лежить концепція так званих драйверів, що дозволяють отримувати з'єднання з базою даних по спеціально описаному URL. Драйвери можуть завантажуватись динамічно (під час роботи програми). Завантажившись, драйвер сам реєструє себе й викликається автоматично, коли програма вимагає URL, що містить протокол, за який драйвер «відповідає».

Інтерфейси

JDBC API містить два основні типи інтерфейсів: перший — для розробників застосунків і другий (нижчого рівня) — для розробників драйверів.

З'єднання з базою даних описується класом, що реалізує інтерфейс java.sql.Connection.

Маючи з'єднання з базою даних, можна створювати об'єкти типу Statement, використовувані для здійснення запитів до бази даних на мові SQL.

Існують такі види типів Statement, що відрізняються своїм призначенням:

  • java.sql.Statement — Statement загального призначення;
  • java.sql.PreparedStatement — Statement, що служить для здійснення запитів, котрі містять підставні параметри (позначаються символом '?' у тілі запиту);
  • java.sql.CallableStatement — Statement, призначений для виклику збережених процедур.

Класjava.sql.ResultSet дозволяє легко обробляти результати запитів.

Переваги

Перевагами JDBC вважаються:

  • Легкість розробки: розробник може не знати специфіки бази даних, з якою працює;
  • Код не змінюється, якщо компанія переходить на іншу базу даних;
  • Не треба встановлювати громіздку клієнтську програму;
  • До будь-якої бази можна під'єднатись через легко описуваний URL.

Приклади

Приклад коду

JDBC для MySQL
Цей приклад використовує вільний драйвер JDBC для MySQL, який легко встановлюється в більшості дистрибутивів Linux через стандартні репозиторії.
package javaapplication1;import java.sql.*;public class Main {    public static void main(String[] args) throws SQLException    {        /**        * цей рядок вказує драйвер DB.        * розкоментуйте, якщо прописуєте драйвер вручну        */        //Class.forName("com.mysql.jdbc.Driver").newInstance();        Connection conn = DriverManager.getConnection(            "jdbc:mysql://localhost:3306/db_name",            "user", "password");                if (conn==null)        {            System.out.println("Немає з'єднання з БД!");            System.exit(0);        }                Statement stmt = conn.createStatement();        ResultSet rs = stmt.executeQuery("SELECT * FROM users");        while(rs.next())        {            System.out.println(rs.getRow() + ". " + rs.getString("firstname") + "\t" + rs.getString("lastname"));        }                // if(rs!=null)rs.close();                /**         * stmt.close();         * При закритті Statement автоматично закриваються         * всі пов'язані з ним відкриті об'єкти ResultSet         */                // if(stmt!=null)stmt.close();        stmt.close();    }}

Див. також

Посилання

🔥 Top keywords: Шеннен ДогертіГоловна сторінкаЧемпіонат Європи з футболуЧемпіонат Європи з футболу 202459-та окрема мотопіхотна бригада (Україна)Спеціальна:ПошукЛамін ЯмальЗбірна Іспанії з футболуЧемпіонат Європи з футболу 2020Збірна Англії з футболуДональд ТрампДень Української ДержавностіДень взяття БастиліїРекордні температури повітря в УкраїніYouTubeПрезидентські вибори у США 2024Джо БайденФАБ-3000Чемпіонат світу з футболуУсі жінки — відьмиУкраїнаНіко ВільямсAR-15Карлос АлькарасЧемпіонат Європи з футболу 2012Фінал чемпіонату Європи з футболу 2024Список замахів на президентів СШАЧемпіонат світу з футболу 2026Список президентів СШАТериторіальний центр комплектування та соціальної підтримкиРональд РейганДжон Фіцджеральд КеннедіЛюк ПерріЕль-НіньйоНаціональна суспільна телерадіокомпанія УкраїниГаррі КейнЗамах на Дональда ТрампаКріштіану РоналдуРайон Беверлі-Гіллз