1 of 50

1

LVIV STATE UNIVERSITY OF LIFE SAFETY

THE STATE EMERGENCY SERVICE OF

UKRAINE

ЛЕКЦІЯ №19. JDBC+SQL

2 of 50

2

ПЛАН

  • ВСТУП В БАЗИ ДАНИХ
  • JDBC API
  • DATA ACCESS LAYER & CRUD

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

3 of 50

3

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Вступ в бази даних

4 of 50

4

СТАНОМ НА 01.02.2023

Вступ в бази даних

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

База даних - це організована структура, яка призначена для зберігання, зміни та обробки взаємозалежної інформації, переважно великих обсягів. 

Бази даних використовуються для зберігання, підтримки та доступу до будь-яких даних. Вони зберігають інформацію про людей, місця чи речі. Ця інформація збирається в одному місці, щоб її можна було спостерігати та аналізувати. Бази даних можна розглядати як організовану колекцію інформації.

5 of 50

5

СТАНОМ НА 01.02.2023

Вступ в бази даних

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Існує безліч різних типів баз даних. Вибір найкращої бази даних конкретної компанії залежить від цього, як вона має намір використовувати дані.

  • Реляційні бази даних. Реляційні бази даних стали переважати у 1980-х роках. Дані в реляційній основі організовані як таблиці, які містять в собі стовпці і рядки. Реляційна СУБД забезпечує швидкий та ефективний доступ до структурованої інформації. MySQL, MS SQL
  • Об'єктно-орієнтовані бази даних. Інформація в об'єктно-орієнтованій базі даних представлена ​​у формі об'єкта, як у об'єктно-орієнтованому програмуванні. Oracle DB
  • Розподілені бази даних. Розподілена база даних складається із двох або більше частин, розташованих на різних серверах. Така база даних може зберігатися на кількох комп'ютерах. 
  • Бази даних NoSQL. База даних NoSQL, або нереляційна база даних, дає можливість зберігати і обробляти неструктуровані або слабоструктуровані дані (на відміну від реляційної бази даних, що задає структуру даних, що містяться в ній). Популярність баз даних NoSQL зростає в міру поширення та ускладнення веб-додатків. Mongo, Cassandra
  • Графові бази даних. Графова база даних зберігає дані у вигляді сутностей і зв'язків між сутностями.  Neo4j

��

6 of 50

6

СТАНОМ НА 01.02.2023

Вступ в бази даних

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Реляційні бази даних - найстаріший тип досі широко використовуваних БД загального призначення. 

  • Дані та зв'язки між даними організовані за допомогою таблиць. 
  • Кожен стовпець у таблиці має ім'я і тип. 
  • Кожен рядок представляє окремий запис або елемент даних в таблиці, який містить значення для кожного з стовпців.
  • Високоорганізована структура і гнучкість робить реляційні БД потужними і такими, що адаптуються до різних типів даних;

Приклади:

    • MySQL
    • PostgreSQL
    • SQLite

��

7 of 50

7

СТАНОМ НА 01.02.2023

Вступ в бази даних

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

SQL

  • SQL (Structured query language) - це мова програмування, що використовується в більшості реляційних баз даних для запитів, обробки та визначення даних, а також контролю доступу. 
  • SQL був розроблений IBM в 1970-х роках. Згодом у стандарті SQL ANSI з'явилися численні розширення, розроблені такими компаніями як IBM, Oracle та Microsoft.

8 of 50

8

СТАНОМ НА 01.02.2023

Вступ в бази даних

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

  • DDL (Data Definition Language) - це коротке ім'я мови визначення даних, яке має справу зі схемами та описами бази даних про те, як дані повинні знаходитись у базі даних.

  • DML (Data Manipulation Language) - це коротке ім'я мови маніпулювання даними, яке пов'язане з маніпулюванням даними і включає найбільш поширені оператори SQL, такі як SELECT, INSERT, UPDATE, DELETE і т. д., і використовується для зберігання, зміни, вилучення, видалення та оновлення даних у базі даних.

9 of 50

9

СТАНОМ НА 01.02.2023

Вступ в бази даних

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

SQL: DDL

10 of 50

10

СТАНОМ НА 01.02.2023

Вступ в бази даних

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

  • DROP – видалити базу даних, таблицю тощо.
    • DROP DATABASE databasename;
    • DROP TABLE table_name;
  • TRUNCATE – видалити всі записи з таблиці
    • TRUNCATE TABLE table_name;
  • RENAME - перейменувати об’єкт
    • ALTER TABLE table_name �RENAME TO new_table_name;

SQL: DDL

  • SELECT – отримання даних із таблиці. 
    • SELECT * FROM table_name;
  • INSERT - Вставка даних у таблицю. 
    • INSERT INTO table_name (column1, column2, ...)�VALUES (value1, value2, value3, ...);
  • UPDATE – оновлює наявні дані у таблиці. 
    • UPDATE table_name�SET column1 = value1, column2 = value2, ...�WHERE condition;
  • DELETE – видалення записів із таблиці.
    • DELETE FROM table_name WHERE condition;

SQL: DML

11 of 50

11

СТАНОМ НА 01.02.2023

Вступ в бази даних

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

  • SELECT * FROM table_name;
  • SELECT DISTINCT column1, column2, ...�FROM table_name;
  • SELECT column1, column2, ...�FROM table_name�ORDER BY column1, column2, ... ASC/DESC;
  • SELECT column_name(s)�FROM table_name�WHERE condition�LIMIT number;
  • SELECT column_name(s)�FROM table_name�WHERE column_name IN (value1, value2, ...);

SQL: DML: SELECT

12 of 50

12

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

JDBC API

13 of 50

13

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

14 of 50

14

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Java-застосунок та база даних спілкуються один з одним за допомогою бібліотеки, яка називається JDBC Driver. Це набір класів, які реалізують JDBC API для конкретної СУБД.

Правильний JDBC драйвер обирається за допомогою класу під назвою DriverManager

15 of 50

15

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

У JDBC є 3 основні інтерфейси:

  • Connection — відповідає за з'єднання з базою даних
  • Statement — відповідає за запит до бази даних
  • ResultSet — відповідає за результат запиту до бази даних

16 of 50

16

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

presentation

service

DAL (DATA ACCESS LAYER)

JDBC API

SQL

Архітектура Java-додатка, який працює з реляційною базою даних через JDBC API:

  1. Presentation – відповідає за відображення даних користувачеві. Це може бути графічний інтерфейс (JavaFX, Swing) або веб-інтерфейс (Spring MVC, JSP).

  • Service – визначає бізнес логіку застосунку, тобто які операції слід виконати, перевіряє дані перед взаємодією з базою.

  • DAL (Data Access Layer) – відповідає за взаємодію з базою даних. Реалізується через JDBC API або ORM (наприклад, Hibernate). Виконує SQL-запити та отримує дані.

17 of 50

17

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

18 of 50

18

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Зв'язок між класами Java та таблицями бази даних.

При розробці Java-додатків, що працюють із базою даних, ми використовуємо об'єктно-реляційний підхід. Це означає, що кожна таблиця в базі даних має свій аналог у вигляді класу.

Зв’язок між класами та таблицями:

1. Таблиця = Клас

Кожна таблиця у базі даних представлена окремим класом у Java. Його ще називають entity-класом або моделлю.

2. Колонки таблиці = Поля класу

Атрибути (стовпці) таблиці в базі відповідають полям класу Java.

3. Рядки таблиці = Об'єкти класу

Кожен запис у таблиці – це окремий об'єкт (екземпляр класу).

19 of 50

19

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Приклад: таблиця/клас Users

20 of 50

20

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Первинні та зовнішні ключі в базі даних

Ключі в базі даних відіграють важливу роль у забезпеченні унікальності даних та зв’язків між таблицями. У контексті Java вони також мають відповідні реалізації в класах-моделях (Entity).

Первинний ключ (Primary Key)

Первинний ключ (PK) — це унікальний ідентифікатор кожного запису в таблиці.

🔹 Його особливості:

  • Значення у стовпці первинного ключа унікальне для кожного рядка.
  • Поле не може містити NULL.
  • Використовується для ідентифікації запису.

Зовнішній ключ (Foreign Key)

Зовнішній ключ (FK) — це поле, яке встановлює зв’язок між двома таблицями.

🔹 Його особливості:

  • Посилається на первинний ключ іншої таблиці.
  • Використовується для створення зв’язків між таблицями.
  • Дозволяє підтримувати цілісність даних (неможливо видалити запис, на який є посилання).

21 of 50

21

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Первинний ключ (Primary Key)

Зовнішній ключ (Foreign Key)

22 of 50

22

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Що необхідно для підключення бази даних у Java?

  • Додати драйвер БД у проєкт (Maven або .jar).
  • Створити URL для підключення до бази.
  • Використати DriverManager для з'єднання.
  • Виконувати SQL-запити через Statement або PreparedStatement.
  • Закривати ресурси (ResultSet, Statement, Connection).

23 of 50

23

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

24 of 50

24

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Підключення бази даних у Java:

Крок 1. Додавання драйвера БД до проєкту.

JDBC (Java Database Connectivity) є стандартним API для роботи з базами даних. Однак Java не містить вбудованих драйверів для всіх СУБД (MySQL, PostgreSQL, Oracle тощо), тому необхідно завантажити та підключити відповідний драйвер.

H2 — це легка вбудована реляційна база даних, яка ідеально підходить для тестування та навчання. Вона не потребує окремого сервера і може працювати в пам’яті або на диску. Тож підключимо драйвер саме цієї БД:

25 of 50

25

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Налаштування БД. Та перевірка з'єднання.

26 of 50

26

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Основні типи підключення (Connection type) в H2:

  1. In-Memory (jdbc:h2:mem:)
  2. Дані зберігаються тільки у пам’яті та зникають після завершення роботи програми.
  3. Використовується для тестування та тимчасових баз даних.

2. Embedded (вбудований) (jdbc:h2:file:)

  • Дані зберігаються у файлі на диску.
  • Працює без сервера — Java-програма напряму працює з файлом.

3. Server Mode (режим сервера) (jdbc:h2:tcp:// або jdbc:h2:ssl:// для шифрування)

  • Дозволяє підключатися до бази даних з інших програм або віддалено.
  • H2 працює як окремий процес.

4. Mixed Mode (змішаний режим)

  • Поєднання Embedded і Server Mode: одна програма працює напряму з файлом, інші підключаються через TCP.

27 of 50

27

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Крок 2. Підключення БД за допомогою інтерфейсу Connection

Connection connection = DriverManager.getConnection(url, user, password)

28 of 50

28

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Крок 2.

Підключення БД за допомогою інтерфейсу Connection

29 of 50

29

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Крок 3. Створення SQL запиту через інтерфейси Statement та PreparedStatement

Statement — це інтерфейс у JDBC, який дозволяє виконувати SQL-запити.

Statement stmt = connection.createStatement();

АБО

Statement stmt = connection.createStatement();

String sql = “CREATE…”�stmt.executeUpdate(sql);

30 of 50

30

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Statement — це інтерфейс у JDBC, який дозволяє виконувати SQL-запити.

  • Кожен SQL-запит компілюється щоразу заново.
  • Не можна передавати змінні без конкатенації рядків, що небезпечно.
  • Використовується для простих запитів без параметрів.

PreparedStatement — це розширена версія Statement, яка:

  • Безпечна від SQL-ін'єкцій
  • Кешує SQL-запит, що прискорює виконання
  • Дозволяє використовувати параметри (?)

String sql = "SELECT * FROM students WHERE name = ?";

PreparedStatement pstmt = connection.prepareStatement(sql);

pstmt.setString(1, "Oleh");

передаємо значення у параметр

31 of 50

31

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Крок 3.

Створення SQL запиту через інтерфейси Statement та PreparedStatement

32 of 50

32

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Наповнімо таблицю тестовими даними:

33 of 50

33

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Крок 4. Отримувати запити через ResultSet

Statement stmt = connection.createStatement();

ResultSet rs = statement.executeQuery("SELECT * FROM students");

ResultSet — це інтерфейс у JDBC API, який використовується для збереження та обробки результатів SQL-запитів, що повертають дані з бази.

Коли ми виконуємо SELECT, то отримуємо ResultSet, де кожен рядок — це запис із таблиці, а стовпці — це значення полів.

ResultSet повертається після виконання executeQuery():

Тепер rs містить всі рядки з таблиці students.

34 of 50

34

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Методи інтерфейсу ResultSet:

35 of 50

35

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Оскільки ResultSet працює як курсор, ми можемо використовувати next() для переходу між рядками:

36 of 50

36

СТАНОМ НА 01.02.2023

JDBC API

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Крок 5. Отримувати запити через ResultSet

37 of 50

37

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

DATA ACCESS LAYER & CRUD

38 of 50

38

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

DATA ACCESS LAYER & CRUD

39 of 50

39

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

DATA ACCESS LAYER & CRUD

Entity (Model)

EntityDTO (DTO)

Відображає таблицю в БД

Використовується для передачі даних

EntityDAO

Виконання CRUD

40 of 50

40

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

DATA ACCESS LAYER & CRUD

CRUD – базові операції з даними (Create, Read, Update, Delete).

41 of 50

41

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

DATA ACCESS LAYER & CRUD

DAO – це шаблон проєктування, який відповідає за роботу з базою даних.

  • Використовується для інкапсуляції CRUD-операцій (Create, Read, Update, Delete).
  • Відділяє бізнес-логіку від рівня доступу до бази.

42 of 50

42

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

DATA ACCESS LAYER & CRUD

43 of 50

43

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

DATA ACCESS LAYER & CRUD

CREATE:

44 of 50

44

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

DATA ACCESS LAYER & CRUD

READ:

45 of 50

45

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

DATA ACCESS LAYER & CRUD

UPDATE:

46 of 50

46

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

DATA ACCESS LAYER & CRUD

DELETE:

47 of 50

47

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

DATA ACCESS LAYER & CRUD

48 of 50

48

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

DATA ACCESS LAYER & CRUD

Клас DatabaseManager для підключення бази даних:

49 of 50

49

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

DATA ACCESS LAYER & CRUD

Тестування :

50 of 50

50