Gegevens filteren
CityBook Libraries wil dat gebruikers kunnen zoeken naar beschikbare boeken op publicatiejaar. Gebruikers voeren een jaar in, en het systeem moet alle beschikbare boeken retourneren die in of na dat jaar zijn gepubliceerd.
Je gebruikt een veilige aanpak met prepared statements. 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
- Schrijf de
WHERE-clausule om te zoeken naar boeken met een publicatiejaar groter dan of gelijk aan een placeholder. - Filter op
status, zodat alleen'available'boeken worden toegestaan. - Stel de parameter voor het publicatiejaar in voor de prepared statement.
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();
// Complete the query to filter the data based on the requirements.
String query = "SELECT * FROM books ____ publication_year >= ____ AND status = '____'";
try (Connection conn = ds.getConnection();
PreparedStatement pstmt = conn.prepareStatement(query)) {
// Set the publication year parameter
____.____(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"));
}
}
}
}
}