Filtrowanie danych
Biblioteka CityBook chce umożliwić użytkownikom wyszukiwanie dostępnych książek według roku wydania. Użytkownik podaje rok, a system zwraca wszystkie dostępne książki wydane w tym roku lub później.
Zastosujesz bezpieczne podejście z wykorzystaniem prepared statements. Klasa HikariSetup jest już skonfigurowana.
To ćwiczenie jest częścią kursu
Zapytania do bazy danych PostgreSQL w Javie
Instrukcje do ćwiczenia
- Napisz klauzulę
WHERE, która filtruje książki z rokiem wydania większym lub równym symbolowi zastępczemu. - Dodaj filtr na podstawie
status, tak aby uwzględniać tylko książki ze statusem'available'. - Ustaw parametr roku wydania w prepared statement.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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"));
}
}
}
}
}