Javaالتعامل مع قواعد البيانات في جافا
- مفهوم الـ JDBC في جافا
- الأشياء الأساسية التي تحتاجها للتعامل مع قواعد البيانات في جافا
- الإنترفيسات و الكلاسات المصممة خصيصاً للتعامل مع قواعد البيانات في جافا
- أمثلة شاملة حول التعامل مع قواعد البيانات في جافا
مفهوم الـ JDBC في جافا
JDBC إختصار لجملة Java DataBase Connectivity و هي عبارة عن API خاص في جافا للتعامل مع قواعد البيانات على إختلاف أنواعها.
قبل وجود JDBC كان المبرمجون يستخدمون API آخر للتعامل مع قواعد البيانات يسمى ODBC و هو مكتوب بلغة برمجة مختلفة تسمى C الأمر الذي قد يؤدي إلى بعض المشاكل الأمنية بالإضافة إلى إبطاء عمل البرنامج. لذلك قام مطوروا لغة جافا ببناء API خاص بها أطلق عليه تسمية JDBC.
مصطلحات تقنية
المصطلح | معناه |
---|---|
API | إختصار لـ Application Programming Interface, و هو عبارة عن ملف يشرح طريقة عمل برنامج محدد و يشرح أيضاً طريقة جعل البرامج الأخرى قادرة على التعامل معه. |
JDBC API | عبارة عن حزمة (Package) مصممة خصيصاً للتعامل مع قواعد البيانات. |
JDBC Driver | عبارة عن برنامج يعمل كوسيط بين التطبيق و قاعدة البيانات. |
Statments | هي جميع أنواع الإستعلامات ( Queries ) التي يتم إرسالها من البرنامج إلى قاعدة البيانات. |
DataBase Stored Procedures | عبارة عن مجموعة دوال خاصة بقاعدة البيانات التي نتعامل معها. كل قاعدة بيانات تملك مجموعة من الدوال يمكن إستخدامها للتعامل مع قاعدة البيانات بسهولة أكثر، إضافةً إلى أوامر SQL المشتركة بين جميع قواعد البيانات. |
معلومة تقنية
قواعد بيانات MySQL تعتبر أحد أشهر أنواع قواعد البيانات المجانية التي يستخدمها المطورون و لهذا تم اعتمادها في الشرح.
كما أننا سنفترض أنك قمت مسبقاً بتنصيب قواعد بيانات MySQL على جهازك لأننا في هذا الدرس سنشرح طريقة التعامل معها فقط.
في حال كنت لا تملك أي فكرة أو خبرة في التعامل مع قواعد اليبانات فسبق و أعددنا مرجع شامل لتعلمها من الصفر.
الأشياء الأساسية التي تحتاجها للتعامل مع قواعد البيانات في جافا
نظرة عامة على مفهوم قواعد البيانات و شرح المصطلحات الأساسية المتعلقة بها.
نظرة عامة على أوامر SQL التي يمكنك إستخدامها للتعامل مع أي قاعدة بيانات مهما كان نوعها.
البرامج التي تعمل كوسيط بين البرنامج و قاعدة البيانات ( JDBC Drivers ).
لائحة تضم أشهر أسماء الـ Drivers التي يجب إستخدامهم للإتصال بقواعد البيانات على حسب أنواعهم, مع تحديد طريقة وضع الـ URL لكل واحد منهم, بالإضافة إلى تحميل مكتبات الـ jar الخاصة بهم و طريقة تضمينهم في المشروع.
خطوات ربط البرنامج مع أي قاعدة بيانات.
الإنترفيسات و الكلاسات المصممة خصيصاً للتعامل مع قواعد البيانات في جافا
الجدول التالي يحتوي على الإنترفيسات و الكلاسات التي يمكنك إستخدامها للتعامل مع قواعد البيانات سواء لبدء الإتصال, تنفيذ إستعلامات, تخزين نتائج الإستعلامات إلخ..
الكلاس / الإنترفيس مع تعريفه | |
---|---|
1 | public class DriverManager
الكلاس DriverManager مصمم لتحديد المعلومات الأساسية التي نحتاجها للإتصال بقاعدة البيانات مثل إسم الـ Driver الذي سنستخدمه, إسم قاعدة البيانات, إسم المستخدم و كلمة مروره.تابع القراءة |
2 | public interface Connection
الإنترفيس Connection مصمم لإنشاء إتصال بين البرنامج و قاعدة البيانات بالإعتماد على المعلومات التي تم تحديدها فيه في كائن الـ DriverManager .تابع القراءة |
3 | public interface DatabaseMetaData
الإنترفيس DatabaseMetaData يوفر مجموعة ضخمة من الدوال التي يمكن إستخدامها لمعرفة معلومات متعلقة بقاعدة البيانات التي تتعامل معها. تابع القراءة |
4 | public interface Statement
الإنترفيس Statement مصمم لإرسال الإستعلامات الثابتة التي لا تتغير إلى قاعدة البيانات, أي يمكنك إستخدامه في حال كنت تريد تنفيذ نفس أوامر الـ SQL في كل مرة تقوم فيها بتشغيل البرنامج.تابع القراءة |
5 | public interface PreparedStatement
الإنترفيس PreparedStatement يرث من الإنترفيس Statement , تم تصميمه لإرسال إستعلامات إلى قاعدة البيانات أثناء عمل البرنامج, كما أنه يمكن إستخدامه لتنفيذ نفس أوامر الـ SQL عدة مرات.تابع القراءة |
6 | public interface ResultSet
الإنترفيس ResultSet مصمم لتخزين أي بيانات يتم جلبها من قاعدة البيانات مهما كان نوعها.تابع القراءة |
7 | public interface ResultSetMetaData
الإنترفيس ResultSetMetaData يستخدم لمعرفة معلومات تتعلق بالجدول ( أو الجداول ) المخزنة في كائن الـ ResultSet , مثل:
تابع القراءة |
أمثلة شاملة حول التعامل مع قواعد البيانات في جافا
المثال الأول
في المثال التالي شرحنا طريقة جلب بيانات من قاعدة البيانات.
المثال الثاني
في المثال التالي شرحنا طريقة تجهيز إستعلام لتعديل معلومات موجودة في قاعدة البيانات.
نص الإستعلام مبني على المعلومات أو الشروط التي سيدخلها المستخدم عند تشغيل البرنامج.
المثال الثالث
في المثال التالي شرحنا طريقة تجهيز إستعلام لجلب معلومات موجودة في قاعدة البيانات و عرضها.
نص الإستعلام مبني على المعلومات أو الشروط التي سيدخلها المستخدم عند تشغيل البرنامج.
المثال الرابع
في المثال التالي شرحنا طريقة تجميع الإستعلامات و تنفيذها دفعة واحدة في قاعدة البيانات باستخدام الإنترفيس Statement
.
هذا الأسلوب يسمى ( Batch Processing ) و هو مهم جداً من ناحية سرعة التنفيذ و الأداء.
المثال الخامس
في المثال التالي شرحنا طريقة تجميع الإستعلامات و تنفيذها دفعة واحدة في قاعدة البيانات باستخدام الإنترفيس PreparedStatement
.
هذا الأسلوب يسمى ( Batch Processing ) و هو مهم جداً من ناحية سرعة التنفيذ و الأداء.
المثال السادس
في المثال التالي شرحنا طريقة تجميع الإستعلامات و تنفيذها دفعة واحدة في قاعدة البيانات باستخدام الإنترفيس Statement
.
هذا الأسلوب يسمى ( Transaction Management ) و هو مهم جداً من ناحية سرعة التنفيذ و الأداء.
المثال السابع
في المثال التالي شرحنا طريقة تجميع الإستعلامات و تنفيذها دفعة واحدة في قاعدة البيانات باستخدام الإنترفيس PreparedStatement
.
هذا الأسلوب يسمى ( Transaction Management ) و هو مهم جداً من ناحية سرعة التنفيذ و الأداء.
المثال الثامن
في المثال التالي شرحنا طريقة تخزين ملف نصي في قاعدة البيانات.
المثال التاسع
في المثال التالي شرحنا طريقة إسترجاع ملف نصي من قاعدة البيانات.
المثال العاشر
في المثال التالي شرحنا طريقة تخزين ملف غير نصي في قاعدة البيانات, مثل الملفات الصوتية, الصور و الفيديوهات.
المثال الحادي عشر
في المثال التالي شرحنا طريقة إسترجاع ملف غير نصي من قاعدة البيانات, مثل الملفات الصوتية, الصور و الفيديوهات.