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

Đọc chương mẫu

Tính năng "Dùng thử trước khi mượn" của Metropolitan Public Library đã lưu trữ thành công các chương mẫu. Giờ bạn cần triển khai chức năng truy xuất để độc giả có thể đọc các phần xem trước này trên trang web của thư viện.

Vì các chương mẫu có thể chứa hàng nghìn ký tự, bạn sẽ dùng streaming để đọc dữ liệu hiệu quả. Thay vì nạp toàn bộ chương vào bộ nhớ cùng lúc, bạn sẽ đọc theo từng phần nhỏ bằng một bộ đệm ký tự.

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

  • Đọc luồng từ result set cho cột sample_chapter.
  • Đặt kích thước bộ đệm để đọc 30 ký tự.

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, IOException, ClassNotFoundException {
        HikariDataSource ds = HikariSetup.createDataSource();
        String query = """
            SELECT book_id, sample_chapter FROM book_content bc
            """;
        try (Connection conn = ds.getConnection();
             PreparedStatement pstmt = conn.prepareStatement(query);
             ResultSet rs = pstmt.executeQuery()) {
            while (rs.next()) {
				// Read the stream from the result set
                ____ reader = rs.____("sample_chapter");
                // Read the first 30 characters
                char[] cb = new ____[____];
                reader.read(cb);
                System.out.printf("Book Id: %d, sample chapter: %s ...\n", rs.getInt("book_id"), new String(cb));
            }
        }
    }
}
Chỉnh sửa và Chạy Mã