Lecture d'extraits de chapitres
La fonctionnalité « Essayez avant d'emprunter » de la Bibliothèque publique métropolitaine enregistre avec succès des extraits de chapitres. Vous devez maintenant implanter la récupération afin que les abonné·e·s puissent réellement lire ces aperçus sur le site Web de la bibliothèque.
Comme les extraits peuvent contenir des milliers de caractères, vous utiliserez la lecture en continu pour traiter les données efficacement. Plutôt que de charger des chapitres entiers en mémoire d'un seul coup, vous les lirez par petits blocs à l'aide d'un tampon de caractères.
Cette activité fait partie du cours
Interroger une base de données PostgreSQL en Java
Instructions de l’exercice
- Lisez le flux à partir de l'ensemble 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 ce code d’exemple.
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));
}
}
}
}