تتطلب كتابة برامج Java التي يمكنها الوصول إلى قواعد البيانات أيضًا عدة فئات وواجهات مهمة.
فئة مدير السائق
تتولى فئة DriverManager تحميل برامج التشغيل وإنشاء اتصالات قاعدة بيانات جديدة. DriverManager عبارة عن فئة في حزمة java.sql تُستخدم لإدارة برامج تشغيل قاعدة البيانات. عادة، تستخدم التطبيقات فقط الطريقة الثابتة getConnection() لفئة DriverManager لتأسيس اتصال بقاعدة البيانات وإرجاع كائن اتصال:
اتصال ثابت getConnection (عنوان url للسلسلة، اسم مستخدم السلسلة، كلمة مرور السلسلة)
حدد اسم مستخدم URL وكلمة المرور للبيانات لإنشاء كائن اتصال بقاعدة البيانات. تنسيق بناء الجملة لعنوان url هو:
jdbc:<آلية اتصال قاعدة البيانات>:<اسم قاعدة بيانات ODBC>.
فئة الاتصال
فئة الاتصال هي فئة في حزمة java.sql تعالج الاتصالات بقاعدة بيانات محددة. كائن الاتصال هو كائن يستخدم لتمثيل اتصال قاعدة البيانات. تعمل برامج Java على هذا النوع من الكائنات. الطرق الرئيسية لفئة الاتصال هي:
فئة البيان
فئة البيان هي فئة في حزمة java.sql المستخدمة لمعالجة عبارات SQL في اتصال محدد. الهدف من برمجة قاعدة البيانات هو تضمين أوامر SQL في البرنامج. يحتاج البرنامج إلى إعلان وإنشاء كائن اتصال للاتصال بقاعدة البيانات، والسماح للكائن بالاتصال بقاعدة البيانات. اتصل بالطريقة الثابتة getConnection() للفئة DriverManager للحصول على كائن الاتصال لتوصيل البرنامج بقاعدة البيانات. ثم استخدم فئة البيان للإعلان عن كائن عبارة SQL، واستدعاء أسلوب createStatement() لكائن الاتصال لإنشاء كائن عبارة SQL. على سبيل المثال، التعليمة البرمجية التالية تقوم بإنشاء كائن البيان SQL:
البيان sql = null حاول { sql = con.createStatement() }catch(SQLException e){}
فئة مجموعة النتائج
بعد أن يكون لديك كائن عبارة SQL، قم باستدعاء أسلوب ExecuterQuery() لكائن البيان لتنفيذ استعلام SQL وتخزين نتائج الاستعلام في كائن تم تعريفه باستخدام فئة ResultSet، على سبيل المثال، يقرأ التعليمة البرمجية التالية جدول درجات الطالب ويخزنها في كائن rs:
ResultSet rs = sql.executeQuery("SELECT * FROM ksInfo");
كائن ResultSet هو في الواقع جدول بيانات نتائج الاستعلام، وهو عبارة عن مجموعة بيانات أنبوبية تتكون من صفوف بيانات في نموذج موحد، ويتوافق صف واحد مع سجل استعلام واحد. يوجد مؤشر ضمني في كائن ResultSet، ويمكن الحصول على صف البيانات الذي يشير إليه المؤشر حاليًا فقط في المرة الواحدة. استخدم الطريقة التالية للحصول على صف البيانات التالي. استخدم اسم الحقل (العمود) أو فهرس الموضع (بدءًا من 1) لصف البيانات لاستدعاء طريقة getXXX() للحصول على حقل الحقل الخاص بالسجل. فيما يلي بعض أساليب كائن ResultSet:
columnIndex في الطريقة المذكورة أعلاه هو فهرس الموضع المستخدم لتحديد الحقل، وcolumnName هو اسم الحقل.
يحتاج المستخدم إلى تصفح مجموعة نتائج الاستعلام، أو التحرك للأمام والخلف، أو عرض السجلات المحددة لمجموعة النتائج، وهذا ما يسمى مجموعة النتائج القابلة للتمرير. للحصول على مجموعة نتائج قابلة للتمرير، يحتاج البرنامج فقط إلى إضافة معلمتين لمجموعة النتائج المحددة عند الحصول على كائن عبارة SQL. على سبيل المثال الكود التالي:
البيان stmt = con.createStatement(type,concurrency); ResultSet rs = stmt.executeQuery(بيان SQL)
يمكن لاستعلام SQL لكائن البيان stmt الحصول على مجموعة النتائج من النوع المقابل.
يحدد نوع معلمة النوع int طريقة التمرير للمجموعة القابلة للتمرير:
يحدد تزامن معلمة النوع int ما إذا كان سيتم تحديث قاعدة البيانات بشكل متزامن مع المجموعة القابلة للتمرير:
على سبيل المثال، يستخدم التعليمة البرمجية التالية اتصال كائن الاتصال لإنشاء كائن بيان stmt، ويحدد إمكانية تمرير مجموعة النتائج، ويقرأ قاعدة البيانات في وضع القراءة فقط:
stmt = Connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
بعض الطرق الأخرى شائعة الاستخدام في المجموعات القابلة للتمرير هي كما يلي: