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
Ö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"));
}
}
}
}
}