데이터 정렬하기
CityBook Libraries의 검색 기능은 잘 동작하지만, 사용자들은 출판 연도 기준으로 오름차순 또는 내림차순 정렬을 원해요. 양쪽 정렬 방식을 모두 처리할 수 있도록 쿼리를 동적으로 구성해 보세요.
HikariSetup 클래스는 이미 설정되어 있어요.
이 연습은 강의의 일부입니다
Java에서 PostgreSQL 데이터베이스 질의하기
연습 안내
- 결과를
publication_year기준으로 정렬하도록 쿼리를 완성하세요. - 사용자 입력을 나타내는
ascending변수에 따라 오름차순 또는 내림차순으로 정렬되도록 쿼리를 확장하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
public class Main {
public static void main(String[] args) throws SQLException {
HikariDataSource ds = HikariSetup.createDataSource();
boolean ascending = true;
// Order by the publication_year in ascending order
String query = """
SELECT *
FROM books
WHERE publication_year >= ?
AND status = 'available'
____ ____ ____
""";
// Sort depending on the ascending parameter
query += ____ ? "____" : "____";
try (Connection conn = ds.getConnection();
PreparedStatement pstmt = conn.prepareStatement(query)) {
pstmt.setInt(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"));
}
}
}
}
}