Lọc dữ liệu
CityBook Libraries muốn người dùng tìm sách còn sẵn có theo năm xuất bản. Người dùng sẽ nhập một năm, và hệ thống phải trả về tất cả sách còn sẵn có được xuất bản vào hoặc sau năm đó.
Bạn sẽ dùng cách tiếp cận an toàn với prepared statement. Lớp HikariSetup đã được cấu hình sẵn cho bạn.
Bài tập này là một phần của khóa học
Truy vấn cơ sở dữ liệu PostgreSQL trong Java
Hướng dẫn bài tập
- Viết mệnh đề
WHEREđể truy vấn các sách có năm xuất bản lớn hơn hoặc bằng một placeholder. - Lọc theo
status, chỉ cho phép sách'available'. - Thiết lập tham số năm xuất bản cho prepared statement.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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"));
}
}
}
}
}