샘플 챕터 읽기
Metropolitan Public Library의 "Try Before You Borrow" 기능이 샘플 챕터를 성공적으로 저장하고 있어요. 이제 이용자들이 도서관 웹사이트에서 이 미리 보기를 실제로 읽을 수 있도록, 조회 기능을 구현해야 해요.
샘플 챕터는 수천 자에 이를 수 있으므로, 데이터를 효율적으로 읽기 위해 스트리밍을 사용하겠습니다. 장 전체를 한 번에 메모리에 올리는 대신, 문자 버퍼를 사용해 작은 청크 단위로 읽어 들일 거예요.
이 연습은 강의의 일부입니다
Java에서 PostgreSQL 데이터베이스 질의하기
연습 안내
- 결과 집합에서
sample_chapter열의 스트림을 읽으세요. - 버퍼 크기는 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));
}
}
}
}