시작하기무료로 시작하기

데이터 필터링

CityBook Libraries에서는 사용자가 출판 연도로 대출 가능한 책을 검색할 수 있게 하려 합니다. 사용자가 연도를 입력하면, 그 연도 이상에 출판된 모든 대출 가능 도서를 반환해야 합니다.

이 작업에서는 prepared statement를 사용해 보안적으로 처리합니다. HikariSetup 클래스는 이미 설정되어 있습니다.

이 연습은 강의의 일부입니다

Java에서 PostgreSQL 데이터베이스 질의하기

강의 보기

연습 안내

  • 출판 연도가 플레이스홀더보다 크거나 같은 도서를 조회하도록 WHERE 절을 작성하세요.
  • status를 기준으로 필터링하여 'available' 도서만 허용하세요.
  • prepared statement에 출판 연도 매개변수를 설정하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

public class Main {
    public static void main(String[] args) throws SQLException {
        HikariDataSource ds = HikariSetup.createDataSource();
        // Complete the query to filter the data based on the requirements.
        String query = "SELECT * FROM books ____ publication_year >= ____ AND status = '____'";
        try (Connection conn = ds.getConnection();
             PreparedStatement pstmt = conn.prepareStatement(query)) {
            // Set the publication year parameter
            ____.____(1, 2000);
            try (ResultSet rs = pstmt.executeQuery()) {
                while (rs.next()) {
                    System.out.printf("ID: %d, Title: %s (%d)%n", rs.getInt("book_id"), rs.getString("title"), rs.getInt("publication_year"));
                }
            }
        }
    }
}
코드 편집 및 실행