Sắp xếp dữ liệu
Tính năng tìm kiếm của CityBook Libraries hoạt động tốt, nhưng người dùng muốn sắp xếp kết quả theo năm xuất bản theo thứ tự tăng dần hoặc giảm dần. Bạn sẽ xây dựng truy vấn động để xử lý cả hai chiều sắp xếp.
Lớp HikariSetup đã được cấu hình sẵn cho bạn.
Bài tập này là một phần của khóa học
Truy vấn cơ sở dữ liệu PostgreSQL trong Java
Hướng dẫn bài tập
- Hoàn thiện truy vấn để sắp xếp kết quả theo
publication_year. - Mở rộng truy vấn để sắp xếp tăng dần hoặc giảm dần tùy theo biến
ascendingđại diện cho đầu vào của người dùng.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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"));
}
}
}
}
}