Lecture d’extraits de chapitres
La fonctionnalité « Essayer avant d’emprunter » de la Metropolitan Public Library enregistre correctement les extraits de chapitres. Vous devez maintenant implémenter la récupération afin que les usagers puissent réellement lire ces aperçus sur le site de la bibliothèque.
Comme les extraits peuvent contenir des milliers de caractères, vous utiliserez un flux (streaming) pour lire les données efficacement. Au lieu de charger l’intégralité d’un chapitre en mémoire d’un coup, vous le lirez par petits blocs à l’aide d’un tampon de caractères.
Cet exercice fait partie du cours
Interroger une base de données PostgreSQL en Java
Instructions
- Lisez le flux depuis le jeu de résultats pour la colonne
sample_chapter. - Réglez la taille du tampon pour lire 30 caractères.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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));
}
}
}
}