Aan de slagGa gratis aan de slag

Voorbeeldhoofdstukken lezen

De functie "Probeer voordat je leent" van de Metropolitan Public Library slaat voorbeeldhoofdstukken succesvol op. Nu moet je de ophaalfunctionaliteit implementeren zodat bezoekers deze previews daadwerkelijk op de website van de bibliotheek kunnen lezen.

Omdat voorbeeldhoofdstukken duizenden tekens kunnen bevatten, gebruik je streaming om de gegevens efficiënt te lezen. In plaats van hele hoofdstukken in één keer in het geheugen te laden, lees je ze in kleine stukjes met behulp van een tekenbuffer.

Deze oefening maakt deel uit van de cursus

Query's uitvoeren op een PostgreSQL-database in Java

Cursus bekijken

Oefeninstructies

  • Lees de stream uit de resultset voor de kolom sample_chapter.
  • Stel de buffergrootte in op 30 tekens.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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));
            }
        }
    }
}
Code bewerken en uitvoeren