Daten filtern
CityBook Libraries möchte, dass Nutzer nach verfügbaren Büchern nach Veröffentlichungsjahr suchen. Nutzer geben ein Jahr ein, und das System soll alle verfügbaren Bücher zurückgeben, die in diesem Jahr oder später veröffentlicht wurden.
Du verwendest dafür eine sichere Methode mit Prepared Statements. Die Klasse HikariSetup ist bereits für dich konfiguriert.
Diese Übung ist Teil des Kurses
<Kurs>Abfragen einer PostgreSQL-Datenbank in Java</Kurs>Übungsanweisungen
- Schreibe die
WHERE-Klausel, um Bücher mit Veröffentlichungsjahr größer oder gleich einem Platzhalter abzufragen. - Filtere nach
statusund erlaube nur'available'Bücher. - Setze den Parameter für das Veröffentlichungsjahr im Prepared Statement.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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"));
}
}
}
}
}