Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаба1.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
178.6 Кб
Скачать

Виконав студент групи ЗКІт-151 Тишкевич Олександр Володимирович

Лабораторна робота №1 Використання jdbc

    1. Мета роботи:

- ознайомитися із засобами Java, що використовуються для підключення до реляційних баз даних;

- навчитися виконувати JDBC запити на створення бази даних, модифікацію даних, та запити на отримання інформації з бази.

- створити додаток для роботи з базою даних.

1.2 Короткі теоретичні відомості

JDBC (Java DateBase Connectivity) – це сукупність класів та інтерфейсів, що визначають правила доступу до систем управління реляційними базами даних (СУБД) із Java-програм, використовуючи SQL.

JDBC фактично має дві складові.

Перша складова – це класи та інтерфейси пакету java.sql, що визначають інтерфейс роботи з базою даних і використовуються розробниками застосунків.

Друга складова (нижчого рівня)– це інтерфейси для розробників драйверів, які забезпечують зв’язок з базою даних.

Драйвер JDBC – це сукупність класів, щореалізують інтерфейс JDBC та забезпечують зв’язок з базою даних. Але слід розуміти, що постачальники драйверів не завжди повністю реалізують вимоги інтерфейсів JDBC.

Для встановлення драйвера JDBC, як правило, потрібно скопіюватиjar-файл з класами драйвера на комп'ютері додати шлях до розташування цього файлу у ClassPathабо BuildPath. Крім того, драйвери перших трьох типів вимагаютьвстановлення на стороні клієнта додаткового API.

JDBC драйвери для Derby, MySQL та PostgreSQL додаткового API не потребують.

Драйвери СУБД JavaDB(Derby) поставляються з інсталяцією СУБД. Драйвер для роботи у режимі embeded знаходяться у jar-файлі, що має назву lib.derby.jar. Для роботи з окремим сервером використовується драйвер, що знаходиться у файлі lib.derbyclient.jar.

Драйвер для MySQL входить до складу інсталяційного пакетуСУБД, але знаходиться у окремому jar-файлі, що має назву на зразок такої: mysql-connector-java-5.1.36-bin.jar та міститься у папці Connector.J... .

Драйвер для PostgreSQL до стандартного інсталяційного пакету не входить, але може бути отриманий з Інтернет мережі. Файл може мати назву postgresql-9.4-1201.jdbc41.jar.

Якщо шлях до драйверу вказано правильно, то DriverManager після виклику методу getConnection знайде його і завантажить.

Клас DriverManager використовується для з’єднання додатку з базою даних шляхом виклику одного із статичних методівgetConnection,причому способи формування параметрів деяких з цих методів залежать від СУБД, з якою встановлюється зв’язок. Через параметри цих методів передається інформація про СУБД, що використовується, адреса бази даних та інша службова інформація.

Найбільш універсальним є метод з такою сигнатурою:

getConnection(String url, java.util.Properties info)

Першим параметром цього методу є рядок url, який надає інформацію про базу даних, її розташування, спосіб підключення та засоби її обслуговування.

У разі використання JDBC-драйвера для підключення до бази даних url має такий вигляд:

jdbc:<ім’я драйвера>:[//<хост>[:<порт>/]]<ім’я БД>

Наприклад, для підключення до бази даних dbfpo, яка знаходитьсяза інтернет-адресою dec-fpo.fsay.net і обслуговується СУБД MySQL, URL буде мати такий вигляд:

String url = ”jdbc:mysql:// dec-fpo.fsay.net:3306/dbfpo”;

Якщо ж база даних bibl обслуговується сервером PostgreSQL, якийвстановлено на комп'ютері клієнта, то  URL буде мати такий вигляд:

String url = ”jdbc:postgresql://localhost:5432/bibl”

У випадку, коли база myderbydb обслуговується СУБД DERBY у режимі EMBEDED, URL буде мати такий вигляд:

String url = “jdbc: derby: myderbydb”;

Другий параметр методу getConnection, що розглядається, являє собою асоціативний масив типу Properties, який може містити різноманітну інформацію. Кожна окрема властивість заноситься у масив, як пара ключ-значення. Слід мати на увазі, що переліки властивостей для різних СУБД відрізняються, а однакові властивості можуть мати різні ключи.

Наприклад, щоб для СУБД Derby задати ім’я користувача, пароль та вказівку на створення бази у разі її відсутності, пишемо такий код:

Properties prop = new Properties();

prop.setProperty("user", user);

prop.setProperty("password", pass);

prop.setProperty("create", "true");

де user та pass – це рядки символів, що задають ім’я та пароль.

Такі самі налаштування для СУБД MySQL будуть виглядати так:

Properties prop = new Properties();

prop.setProperty("user", user);

prop.setProperty("password", pass);

prop.setProperty("createDatabaseIfNotExist", "true");

А для PostgreSQL ключ для передачі останнього параметру взагалі відсутній.

Після того, як визначені URL та Properties можна встановити з'єднання з базою даних:

Виконуючи метод getConnection, DriverManagerнамагається знайти потрібний драйвер і базу даних. Якщо пошук завершується успішно і з’єднання встановлено, DriverManager повертає об’єкт типу Connection. Зі створенням об’єкту типу Connection починається сеанс зв’язку з базою даних (сесія).