Báo cáo sách
CityBook Libraries muốn tạo một báo cáo danh mục thể hiện bộ sưu tập sách của họ. Bạn sẽ dùng connection pooling HikariCP để lấy dữ liệu hiệu quả từ cơ sở dữ liệu PostgreSQL.
Truy vấn chọn book_id, title và publication_year từ bảng books. Hãy ghép lại mọi thứ bạn đã học: lấy kết nối từ pool, tạo statement, thực thi truy vấn và trích xuất kết quả. Lớp HikariSetup và HikariDataSource đã được nhập sẵn cho bạn.
Bài tập này là một phần của khóa học
Truy vấn cơ sở dữ liệu PostgreSQL trong Java
Hướng dẫn bài tập
- Lấy một kết nối từ data source bằng
getConnection(). - Tạo một statement với
createStatement(). - Thực thi truy vấn bằng
executeQuery(query). - Dùng các phương thức getter phù hợp cho
book_idvàtitle.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
public class Main {
public static void main(String[] args) throws SQLException {
HikariDataSource ds = HikariSetup.createDataSource();
String query = "SELECT b.book_id, b.title, b.publication_year FROM books b LIMIT 5";
// Get connection, create statement, and execute query
try (Connection conn = ____.____();
Statement stmt = ____.____();
ResultSet rs = ____.____(query)) {
while (rs.next()) {
// Retrieve integer column
int bookId = rs.____("book_id");
// Retrieve string column
String title = rs.____("title");
int year = rs.getInt("publication_year");
System.out.printf("ID: %d, Title: %s (%d)%n", bookId, title, year);
}
}
}
}