Trier les données
La recherche des bibliothèques CityBook fonctionne bien, mais les utilisateurs souhaitent trier les résultats par année de publication, en ordre croissant ou décroissant. Vous allez construire la requête dynamiquement pour gérer les deux sens de tri.
La classe HikariSetup est déjà configurée pour vous.
Cet exercice fait partie du cours
Interroger une base de données PostgreSQL en Java
Instructions
- Complétez la requête pour trier le résultat par
publication_year. - Étendez la requête pour trier en ordre croissant ou décroissant selon la variable
ascendingreprésentant la saisie de l’utilisateur.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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"));
}
}
}
}
}