JDBC (Java DataBase Connectivity). Задания

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

  1. Создать класс PhoneDAO.
  2. Реализовать метод Phone findEntityById(int id) в классе PhoneDAO, который позволяет найти объект в БД по его id.
  3. Реализовать метод List<Phone> findAll(), который возвращает все телефоны из БД.
  4. Реализовать метод boolean delete(int id), который удаляет телефон из БД по его id.
  5. Реализовать метод boolean delete(Phone phone), который удаляет телефон из БД по его id.
  6. Реализовать метод boolean create(Phone phone), который добавляет новый телефон в БД.
  7. Реализовать метод Phone update(Phone phone), который обновляет существующий телефон в БД.

5. Интернет магазин, часть 10

Часть 1часть 2часть 3часть 4часть 5часть 6часть 7часть 8часть 9.

Создать DAO классы для вашего интернет магазина.

При написании программ обращайте внимание на рекомендации по оформлению кода.

Читайте также:
Trustpilot
Trustpilot
Комментарии