Академический Документы
Профессиональный Документы
Культура Документы
DAO
Часть 2
Борисов Андрей
andriy.borysov@ukr.net
Контрольная работа
1. Создайте экземпляр класса FileOutputStream, запишите в него 1 байт и
закройте.
2. Какая разница между MySQL и SQLite с точки зрения JDBC?
2
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'
3
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
}
4
JDBC. Создание таблицы
Statement statement = connection.createStatement();
"name VARCHAR(100)" +
")");
5
JDBC. Выполнение запросов
statement.executeUpdate("INSERT INTO person VALUES('adam')");
while (cursor.next()) {
6
SQL. Связь один-к-одному
books
authors books
9
Design Patterns. DAO
class BookDao {
private final Connection connection;
public BookDao(Connection sqlConnection) {
connection = sqlConnection;
}
11
Полезные ссылки
● Data access object / Wikipedia
● JDBC Tutorial / TutorialsPoint
● SQLite JDBC Driver / GitHub
12
Домашнее задание
13
Спасибо за внимание
Вопросы?
14