Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

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 ) و هو مهم جداً من ناحية سرعة التنفيذ و الأداء.

شاهد المثال



المثال الثامن

في المثال التالي شرحنا طريقة تخزين ملف نصي في قاعدة البيانات.

شاهد المثال



المثال التاسع

في المثال التالي شرحنا طريقة إسترجاع ملف نصي من قاعدة البيانات.

شاهد المثال



المثال العاشر

في المثال التالي شرحنا طريقة تخزين ملف غير نصي في قاعدة البيانات, مثل الملفات الصوتية, الصور و الفيديوهات.

شاهد المثال



المثال الحادي عشر

في المثال التالي شرحنا طريقة إسترجاع ملف غير نصي من قاعدة البيانات, مثل الملفات الصوتية, الصور و الفيديوهات.

شاهد المثال