JDBC
MySQL и SQLite
Борисов Андрей
andriy.borysov@ukr.net
Контрольная работа
1. Приведите короткий фрагмент, демонстрирующий dead lock.
2. Перечислите и кратко опишите методы из класса Future.
2
База данных. Кратко
Организованный набор данных со своими характеристиками и связями,
применимый для какой-либо прикладной области. Базы данные содержат схемы,
таблицы, хранимые процедуры и другие объекты. Организованы согласно
моделям данных. Существуют реляционные и нереляционные модели данных.
4
JDBC. Установка драйвера
● MySQL
Добавить зависимости в файл build.gradle в секцию dependencies:
implementation 'mysql:mysql-connector-java:8.0.16'
● SQLite
Добавить зависимости в файл build.gradle в секцию dependencies:
implementation 'org.xerial:sqlite-jdbc:3.27.2.1'
5
JDBC. Соединение
● MySQL
try (Connection connection = DriverManager.getConnection(
"jdbc:mysql://localhost/books_and_authors?serverTimezone=Europe/Kiev",
"root", "password")) {
// ... work with connection
}
● SQLite
try (Connection connection = DriverManager.getConnection("jdbc:sqlite:sample.db")) {
// ... work with connection
}
6
JDBC. Создание таблицы
Statement statement = connection.createStatement();
7
JDBC. Выполнение запросов
statement.executeUpdate("INSERT INTO person VALUES(1, 'adam')");
while (cursor.next()) {
8
Практика
1. Реализовать программное консольное меню, позволяющее выполнять разные действия
под номерами 1-9 или буквами a-z.
2. Реализовать элементы меню по созданию и удалению таблицы со студентами. Студент
имеет минимум 4 поля.
3. Реализовать элемент меню по добавлению нового студента в базу данных из введенных
пользователем данных с консоли.
4. Реализовать элемент меню по выводу всех студентов, отсортированных по имени от А
до Я.
5. Реализовать элемент меню по поиску студентов по тексту, введенному пользователем, и
выводу найденных упорядоченными по имени от А до Я.
9
Полезные ссылки
● TutorialsPoint. JDBC Tutorial
● GitHub. SQLite JDBC Driver
10
Домашнее задание
11
Спасибо за внимание
Вопросы?
12