Verileri sıralama
CityBook Libraries'in arama özelliği iyi çalışıyor, ancak kullanıcılar sonuçları yayın yılına göre artan ya da azalan sırada sıralamak istiyor. Her iki sıralama yönünü de desteklemek için sorguyu dinamik olarak oluşturacaksın.
HikariSetup sınıfı senin için zaten yapılandırıldı.
Bu egzersiz, kursun bir parçasıdır
Java ile PostgreSQL Veritabanına Sorgu Yazma
Egzersiz talimatları
- Sonucu
publication_yeardeğerine göre sıralayacak şekilde sorguyu tamamla. - Kullanıcı girdisini temsil eden
ascendingdeğişkenine bağlı olarak artan ya da azalan sırada sıralayacak şekilde sorguyu genişlet.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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"));
}
}
}
}
}