Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

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"));
                }
            }
        }
    }
}
Chỉnh sửa và Chạy Mã