JDBC Intro | معرفی JDBC
📖توضیحات درس
📄جزوه
مفاهیم کلیدی
-
JDBC (Java Database Connectivity)
یک API استاندارد در جاوا که به برنامهنویسان اجازه میدهد به انواع پایگاهدادههای رابطهای مثل PostgreSQL، MySQL و Oracle متصل شده و دستورات SQL را اجرا کنند. -
DriverManager
کلاسی که مسئول مدیریت درایورهای دیتابیس و برقراری اولین پل ارتباطی (Connection) بین برنامه جاوا و پایگاهداده است. -
Connection
یک Interface که نشاندهنده یک اتصال فیزیکی با پایگاهداده است. تمام تعاملات با دیتابیس از طریق این شیء انجام میشود. -
Statement
ابزاری برای ارسال دستورات SQL ساده به سمت دیتابیس. زمانی استفاده میشود که کوئریها پارامتر متغیر ندارند. -
PreparedStatement
نسخهی پیشرفتهتر و امنترStatementکه کوئریها را از پیش کامپایل کرده و برای اجرای دستورات تکراری با پارامترهای مختلف بسیار بهینه است. -
ResultSet
یک جدول مجازی از دادهها که پس از اجرای کوئریهایSELECTتوسط دیتابیس برگردانده میشود و امکان پیمایش روی سطرها را فراهم میکند. -
Maven Dependency
کتابخانههای خارجی (مثل درایور مخصوص PostgreSQL) که باید به پروژه اضافه شوند تا جاوا زبان دیتابیس مورد نظر را متوجه شود.
نکات مهم مصاحبهای
-
چرا به جای آرایهها از JDBC و دیتابیس استفاده میکنیم؟
به دو دلیل اصلی: ۱. پایداری دادهها (با بستن برنامه یا قطع برق، دادهها از بین نمیروند) ۲. مدیریت حجم بالای داده (میلیونها رکورد که در رم جا نمیشوند) و جستجوی بهینه. -
تفاوت متدهای
executeQueryوexecuteUpdateچیست؟
متدexecuteQueryبرای دستوراتSELECTاستفاده میشود و یکResultSetبرمیگرداند، اماexecuteUpdateبرای تغییرات مثلINSERT،UPDATEوDELETEبه کار میرود و تعداد سطرهای تغییر یافته را برمیگرداند. -
چرا بستن (close) منابع در JDBC ضروری است؟
اتصال به دیتابیس منابع سیستم را اشغال میکند. اگرConnection،StatementوResultSetپس از اتمام کار بسته نشوند، با نشت منابع (Resource Leak) مواجه میشویم که میتواند باعث از کار افتادن برنامه یا دیتابیس شود.
مثال یا سناریوی کاربردی
برای اتصال به دیتابیس PostgreSQL و ایجاد یک جدول، مراحل زیر طی میشود:
۱. افزودن درایور: ابتدا باید وابستگی (Dependency) مربوط به postgresql را از مخازن Maven دریافت و به فایل pom.xml اضافه کنید.
۲. برقراری اتصال: با استفاده از آدرس URL دیتابیس، نام کاربری و رمز عبور، یک اتصال برقرار میکنیم:
String url = "jdbc:postgresql://localhost:5432/postgres";
Connection connection = DriverManager.getConnection(url, "user", "pass");
۳. ساخت جدول و درج داده:
Statement statement = connection.createStatement();
// ایجاد جدول
statement.execute("CREATE TABLE IF NOT EXISTS employees (id SERIAL, name VARCHAR(50))");
// درج داده
int rowsAffected = statement.executeUpdate("INSERT INTO employees (name) VALUES ('John')");
۴. خواندن دادهها:
ResultSet resultSet = statement.executeQuery("SELECT * FROM employees");
while (resultSet.next()) {
System.out.println(resultSet.getString("name"));
}
بیشتر بدانید
-
فرمت URL: ساختار آدرس اتصال به PostgreSQL به صورت
jdbc:postgresql://host:port/database_nameاست که پورت پیشفرض آن معمولاً5432میباشد. -
مدیریت استثناها: هنگام کار با JDBC، همیشه باید با
SQLExceptionسر و کار داشته باشید؛ زیرا ممکن است دیتابیس در دسترس نباشد یا کوئری اشتباه نوشته شده باشد. -
آزادسازی منابع: همیشه در انتهای کار، متد
.close()را روی اشیاء ارتباطی صدا بزنید تا منابع دیتابیس آزاد شوند.
