Lectura de capítulos de muestra
La función "Prueba antes de prestar" de la Biblioteca Pública Metropolitana está guardando correctamente los capítulos de muestra. Ahora necesitas implementar la funcionalidad de recuperación para que las personas usuarias puedan leer estas previsualizaciones en la web de la biblioteca.
Como los capítulos de muestra pueden contener miles de caracteres, usarás streaming para leer los datos de forma eficiente. En lugar de cargar capítulos completos en memoria de una vez, los leerás en pequeños fragmentos usando un búfer de caracteres.
Este ejercicio forma parte del curso
Consultas a una base de datos PostgreSQL en Java
Instrucciones del ejercicio
- Lee el flujo desde el conjunto de resultados para la columna
sample_chapter. - Define el tamaño del búfer para leer 30 caracteres.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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));
}
}
}
}