เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

อ่านบทตัวอย่าง

ฟีเจอร์ "ลองอ่านก่อนยืม" ของ Metropolitan Public Library สามารถบันทึกบทตัวอย่างได้เรียบร้อยแล้ว ขั้นตอนต่อไปคือการพัฒนาฟังก์ชันดึงข้อมูล เพื่อให้ผู้ใช้บริการสามารถอ่านตัวอย่างเหล่านี้บนเว็บไซต์ของห้องสมุดได้

เนื่องจากบทตัวอย่างอาจมีอักขระนับพันตัว จึงใช้การสตรีมเพื่ออ่านข้อมูลอย่างมีประสิทธิภาพ แทนที่จะโหลดบททั้งหมดเข้าหน่วยความจำพร้อมกัน ให้อ่านทีละส่วนเล็กๆ โดยใช้ character buffer

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การคิวรีฐานข้อมูล PostgreSQL ด้วย Java

ดูคอร์ส

คำแนะนำการฝึกหัด

  • อ่านกระแสข้อมูลจาก result set สำหรับคอลัมน์ sample_chapter
  • กำหนดขนาด buffer ให้อ่านครั้งละ 30 อักขระ

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

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));
            }
        }
    }
}
แก้ไขและรันโค้ด