JDBC в Java: подключение к базе данных. Практические Задания
1. Изменить класс CreatingTable
Изменить класс CreatingTable для создания таблицы phones - id - INT(5)- PRIMARY KEY, user_id - INT(5), phone_number - VARCHAR(10).
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import static jdbc.ConnectionData.URL;
import static jdbc.ConnectionData.USER;
import static jdbc.ConnectionData.PASSWORD;
public class CreatingTable {
private static final String CREATE_TABLE_QUERY =
"CREATE TABLE users "
+ "(id INT(5) NOT NULL AUTO_INCREMENT,"
+ " username VARCHAR(50), "
+ "PRIMARY KEY(id));";
public static void main(String[] args) {
try (Connection connection =
DriverManager.getConnection(URL, USER, PASSWORD);
Statement statement = connection.createStatement()) {
statement.executeUpdate(CREATE_TABLE_QUERY);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}2. Изменить класс RetrieveData
Изменить класс RetrieveData для получения информации из таблицы phones - id - INT(5)- PRIMARY KEY, user_id - INT(5), phone_number - VARCHAR(10).
public class RetrieveData {
private static final String SELECT_QUERY = "SELECT * FROM users;";
public static void main(String[] args) {
try (Connection connection =
DriverManager.getConnection(URL, USER, PASSWORD);
Statement statement = connection.createStatement()) {
ResultSet resultSet = statement.executeQuery(SELECT_QUERY);
System.out.printf("%-20s%s%n", "id", "username");
System.out.println("-------------------------------");
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("username");
System.out.printf("%-20d%s%n", id, name);
}
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}3. Изменить класс InsertDataPreparedStatement
Изменить класс InsertDataPreparedStatement для записи новых данных в таблицу phones - id - INT(5)- PRIMARY KEY, user_id - INT(5), phone_number - VARCHAR(10).
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import static jdbc.ConnectionData.URL;
import static jdbc.ConnectionData.USER;
import static jdbc.ConnectionData.PASSWORD;
public class InsertDataPreparedStatement {
private static final String INSERT_QUERY =
"INSERT INTO users (username) VALUES (?)";
public static void main(String[] args) {
try (Connection connection =
DriverManager.getConnection(URL, USER, PASSWORD);
PreparedStatement preparedStatement =
connection.prepareStatement(INSERT_QUERY)) {
preparedStatement.setString(1, "misha");
preparedStatement.addBatch();
preparedStatement.setString(1, "grisha");
preparedStatement.addBatch();
preparedStatement.executeBatch();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}4. Класс PhoneDAO
- Создать класс
PhoneDAO. - Реализовать метод
Phone findEntityById(int id)в классеPhoneDAO, который позволяет найти объект в БД по его id. - Реализовать метод
List<Phone> findAll(), который возвращает все телефоны из БД. - Реализовать метод
boolean delete(int id), который удаляет телефон из БД по его id. - Реализовать метод
boolean delete(Phone phone), который удаляет телефон из БД по его id. - Реализовать метод
boolean create(Phone phone), который добавляет новый телефон в БД. - Реализовать метод
Phone update(Phone phone), который обновляет существующий телефон в БД.
DAO-классы для магазина
Интернет-магазин · часть 13 из 13 · ← часть 12
Создать DAO классы для вашего интернет магазина.
При написании программ обращайте внимание на рекомендации по оформлению кода.
Комментарии