รายงานหนังสือ
CityBook Libraries ต้องการสร้างรายงานแคตาล็อกเพื่อแสดงข้อมูลคอลเลกชันหนังสือในระบบ โดยใช้ connection pooling ของ HikariCP เพื่อดึงข้อมูลจากฐานข้อมูล PostgreSQL อย่างมีประสิทธิภาพ
คิวรีนี้จะดึงข้อมูล book_id, title และ publication_year จากตาราง books นำทุกสิ่งที่เรียนมาประกอบเข้าด้วยกัน: ดึง connection จาก pool, สร้าง statement, รันคิวรี และดึงผลลัพธ์ออกมา คลาส HikariSetup และ HikariDataSource ถูก import ไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การคิวรีฐานข้อมูล PostgreSQL ด้วย Java
คำแนะนำการฝึกหัด
- ดึง connection จาก data source โดยใช้
getConnection() - สร้าง statement ด้วย
createStatement() - รันคิวรีโดยใช้
executeQuery(query) - ใช้ getter method ที่เหมาะสมสำหรับ
book_idและtitle
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
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);
}
}
}
}