Распечатать статью на основе предоставленного идентификатора - PullRequest
1 голос
/ 19 мая 2019

Я пытаюсь распечатать статью на основе предоставленного идентификатора. У меня есть метод getArticleById, который возвращает статью, если она существует, или возвращает ноль, если она не существует. У меня также есть метод start (), который предлагает пользователю ввести идентификатор и распечатывает статью, если она существует. Я не уверен, правильно ли я реализовал getArticleById. Кроме того, мне нужен какой-то метод direction start (), чтобы проверить, существует ли введенный идентификатор или нет.

public Article getArticleById(int id, Connection conn) throws SQLException {
    try (PreparedStatement stmt = conn.prepareStatement(
            "SELECT * FROM articles  WHERE id = ?")) {
        stmt.setInt(1, id);
        try (ResultSet r = stmt.executeQuery()) {
            if (r.next()) {
                return getAllArticles(conn).get(id);
            } else {
                return null;
            }
        } 
    }
}

private void start() throws IOException, SQLException {
    try (Connection conn = DBConnectionUtils.getConnectionFromSrcFolder("connection.properties")) {
        System.out.print("Enter the article id: > ");
        int id = Integer.parseInt(Keyboard.readInput());
    }
}

1 Ответ

0 голосов
/ 19 мая 2019

Выглядит хорошо, вам просто нужно вызвать ваш метод getArticleById в start:

private void start() throws IOException, SQLException {
    try (Connection conn = DBConnectionUtils.getConnectionFromSrcFolder("connection.properties")) {
        System.out.print("Enter the article id: > ");
        int id = Integer.parseInt(Keyboard.readInput());
        Article article = getArticleById(id, conn);
        // DO SOMETHING WITH ARTICLE
    }
}

Надеюсь, это поможет.

...