De data sorteren
De zoekfunctie van CityBook Libraries werkt goed, maar gebruikers willen resultaten sorteren op publicatiejaar, oplopend of aflopend. Je bouwt de query dynamisch op om beide sorteerrichtingen te ondersteunen.
De klasse HikariSetup is al voor je geconfigureerd.
Deze oefening maakt deel uit van de cursus
Query's uitvoeren op een PostgreSQL-database in Java
Oefeninstructies
- Maak de query af om het resultaat te sorteren op
publication_year. - Breid de query uit om oplopend of aflopend te sorteren afhankelijk van de variabele
ascending, die de invoer van de gebruiker weergeeft.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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"));
}
}
}
}
}