การจัดการการเชื่อมต่อ
การเชื่อมต่อฐานข้อมูลเป็น resource ที่มีต้นทุนสูง จึงต้องปิดให้ถูกต้องเพื่อป้องกัน memory leak ไวยากรณ์ try-with-resources ของ Java จะปิด connection, statement และ result set โดยอัตโนมัติเมื่อบล็อกทำงานเสร็จสิ้น แม้จะเกิดข้อผิดพลาดขึ้นก็ตาม
ตรวจสอบให้แน่ใจว่าแอปพลิเคชันของ CityBook Libraries จัดการ resource ได้อย่างปลอดภัย
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การคิวรีฐานข้อมูล PostgreSQL ด้วย Java
คำแนะนำการฝึกหัด
- ครอบ resource ด้วยบล็อก try-with-resources
- เพิ่มการจัดการข้อยกเว้นสำหรับข้อผิดพลาดของฐานข้อมูล
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
public class Main {
public static void main(String[] args) {
// Use try-with-resources for automatic cleanup
____ (Connection conn = DriverManager.getConnection(Credentials.URL, Credentials.USER, Credentials.PASSWORD);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM books")) {
while (rs.next()) {
System.out.println(rs.getString("title"));
System.out.println(rs.getInt("publication_year"));
}
// Handle database exceptions
} ____ (SQLException e) {
System.out.println("Error: " + e.getMessage());
System.out.println("SQLState: " + e.getSQLState());
}
}
}