Kom igångKom igång gratis

Sortera data

CityBook Libraries sökfunktion fungerar bra, men användarna vill kunna sortera resultaten efter utgivningsår – antingen i stigande eller fallande ordning. Du ska bygga frågan dynamiskt så att den hanterar båda sorteringsriktningarna.

Klassen HikariSetup är redan konfigurerad åt dig.

Den här övningen är en del av kursen

Fråga en PostgreSQL-databas i Java

Visa kurs

Övningsinstruktioner

  • Komplettera frågan så att resultatet sorteras efter publication_year.
  • Bygg ut frågan så att den sorterar i stigande eller fallande ordning beroende på variabeln ascending, som representerar användarens val.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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"));
                }
            }
        }
    }
}
Redigera och kör kod