خطوات ربط البرنامج مع قواعد البيانات في جافا:-
■■■■■■■■■■■■
لربط البرنامج مع أي قاعدة بيانات مهما كان نوعها لازم تتبع الخطوات دى:
تحميل مكتبه الـ jar الخاصة بقاعدة البيانات اللي هتتعامل معها.
إستدعاء كلاسات الـ JDBC المصممة للتعامل مع قواعد البيانات, أي أن نفعل لهم import.
تحديد الـ Driver المناسب لإجراء الإتصال مع قاعدة البيانات.
بدء الإتصال مع قاعدة البيانات.
تجهيز الإستعلامات التي سيتم إرسالها إلى قاعدة البيانات.
تنفيذ الإستعلامات التي تم تجهيزها.
إغلاق الإتصال مع قاعدة البيانات عند الإنتهاء.
تحديد الـ Driver المناسب لإجراء الإتصال مع قاعدة البيانات
لتحديد إسم الـ Driver الملائم للإتصال بقاعدة البيانات التي سيتم التعامل
معها نستخدم الدالة الثابتة forName() الموجودة في كلاس إسمه Class.
مثال
•في حال كنا سنربط البرنامج بقاعدة بيانات مبنية بنظام MYSQL نكتب التالي.
Class.forName("com.mysql.jdbc.Driver");
بناء الدالة forName().
public static Class<?> forName(String className)throws ClassNotFoundException
الـ className هو نص يمثل إسم الكلاس ( أي الـ Driver ) الذي سيربط البرنامج بقاعدة البيانات.
القيمة التي ترجعها الدالة forName().
ترجع كائن نوعه Class يمثل إسم الكلاس ( أي الـ Driver ) الذي سيربط البرنامج بقاعدة البيانات.
الأخطاء التي قد تحدث عند إستدعاء الدالة forName().
LinkageError في حال عدم وجود توافق بين أكواد الكلاسات المستخدمة في عملية ربط البرنامج مع قواعد البيانات.
ExceptionInInitializerError في حال حدث خطأ عند خلق الكائن.
ClassNotFoundException في حال كان الكلاس الذي قمنا بتمريره غير موجود.
بدء الإتصال مع قاعدة البيانات
لبدء عملية الإتصال بقاعدة البيانات نستخدم الدالة الثابتة
getConnection() الموجودة في الكلاس DriverManager, و التي ترجع كائن نوعه
Connection يمثل الإتصال القائم بين البرنامج و قاعدة البيانات.
مثال
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/company","root","root");
شرح الكود
هنا إفترضنا أننا سنتصل بقاعدة بيانات:
مبنية بنظام MYSQL و موجودة في نفس جهاز المستخدم.
إسم المستخدم في قاعدة البيانات هو root.
كلمة مرور المستخدم في قاعدة البيانات هي root.
.
تجهيز كائن لإرسال إستعلامات إلى قاعدة البيانات
حتى تستطيع إرسال إستعلامات إلى قاعدة البيانات عليك إنشاء كائن نوع
Statement من كائن الـ Connectionالذي قمت بإنشائه سابقاً بواسطة الدالة
createStatement().
مثال
•هنا قمنا بإنشاء كائن نوعه Statement من كائن نوعه Connection و قمنا بتخزينه في الكائن stmt.
Statement stmt = con.createStatement();
تنفيذ إستعلامات و حفظ و عرض نتائجهم
لتنفيذ أي إستعلام على قاعدة البيانات, نقوم بإرسال نص الإستعلام بواسط
الدالة executeQuery() على كائن الـ Statement الذي قمنا بإنشائه سابقاً.
الدالة executeQuery() ترجع نتيجة الإستعلام ككائن نوعه ResultSet.
مثال
•هنا قمنا بإرسال إستعلام إلى قاعدة البيانات, لإرجاع كافة أسماء الموظفين الموجودة في الجدول Employees.
ResultSet rs = stmt.executeQuery("select name from Employees");
•لعرض جميع الأسماء التي تم تخزينها في الكائن rs, نستخدم أي حلقة كالتالي.
while(rs.next()){ System.out.println( rs.getString("name") );}
إغلاق الإتصال مع قاعدة البيانات عند الإنتهاء
بعد الإنتهاء من التعامل مع قاعدة البيانات عليك إغلاق الإتصال معها بواسطة الدالة close() الموجودة في الإنترفيس Connection.
إذاً, لإغلاق الإتصال مع قاعدة البيانات نستدعي الدالة close() على كائن
الـ Connection و التي تقوم بقطع الإتصال مع كائن الـ Statement و كائن الـ
ResultSetبشكل تلقائي.
مثال
•هنا قمنا بقطع الإتصال مع قاعدة البيانات.
con.close();
قبل أن ترحل عن هذه التدوينة لا تنسى الاشتراك بقناتنا على اليوتيوب.عبر الضغط على زر الاشتراك والانضمام الى أزيد من 9200مشترك عبر صفحتنا
موقع المدونة