데이터 필터링
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"));
}
}
}
}
}