Latest web development tutorials

نمط كائنات الوصول إلى البيانات

نموذج الوصول إلى البيانات كائن (الوصول إلى البيانات كائن نمط) أو نمط داو للAPI الوصول إلى البيانات على مستوى منخفض أو فصلها عن تشغيل خدمات الأعمال المتقدمة. ما يلي هو أحد المشاركين في نمط كائن الوصول إلى البيانات.

  • واجهة كائنات الوصول إلى البيانات (بيانات الوصول إلى واجهة كائن) - هذه الواجهة تحدد العمليات الموحدة على كائن نموذج ليتم تنفيذها.
  • كائنات الوصول إلى البيانات دروس كيان (كائنات الوصول إلى البيانات الدرجة الخرسانة) - هذه الفئة تطبق الواجهات أعلاه.هذه الطبقة هي المسؤولة عن الحصول على البيانات من مصدر البيانات، يمكن أن مصدر البيانات تكون قاعدة البيانات، فإنه يمكن أن يكون أكس، أو آلية التخزين الأخرى.
  • كائن نموذج / الأشياء القيمة (نموذج كائن / كائن القيمة) - والهدف من ذلك هو POJO بسيط، ويشمل الحصول على / طرق تعيين لتخزين باستخدام الفئات DAO لاسترداد البيانات.

تحقيق

سوف نقوم بإنشاء كائن طراز كائنالطالبأو كائن قيمة كما.StudentDaoالوصول إلى البيانات واجهة الكائن.StudentDaoImplالطبقة كيان هو تحقيق اجهة كائن الوصول إلى البيانات.DaoPatternDemo، والطبقةمظاهرة لدينا لإثبات استخدام نمط كائنStudentDaoالوصول إلى البيانات من الاستخدام.

الوصول إلى البيانات كائن نمط UML الرسم البياني

خطوة 1

إنشاء كائن قيمة.

Student.java

فئة العمومي طالب {
   اسم سلسلة الخاص؛
   الباحث rollNo الخاص؛

   طالب (اسم سلسلة كثافة العمليات rollNo) {
      this.name = الاسم؛
      this.rollNo = rollNo.
   }

   جمهور سلسلة getName () {
      العودة الاسم؛
   }

   setName باطلة العامة (اسم سلسلة) {
      this.name = الاسم؛
   }

   getRollNo كثافة الجمهور () {
      العودة rollNo.
   }

   الفراغ العام setRollNo (الباحث rollNo) {
      this.rollNo = rollNo.
   }
}

خطوة 2

إنشاء واجهة كائن الوصول إلى البيانات.

StudentDao.java

استيراد java.util.List.

الواجهة العمومية StudentDao {
   قائمة <الطلبة> getAllStudents الجمهور ()؛
   جمهور الطلاب getStudent (الباحث rollNo)؛
   updateStudent الفراغ الجمهور (طالب طالب)؛
   deleteStudent الفراغ الجمهور (طالب طالب)؛
}

خطوة 3

إنشاء فئة كيان تنفذ واجهات أعلاه.

StudentDaoImpl.java

استيراد java.util.ArrayList.
استيراد java.util.List.

الطبقة العامة StudentDaoImpl تنفذ StudentDao {
	
   // قائمة هي قاعدة البيانات على شكل قائمة <الطلبة> الطلاب.

   StudentDaoImpl الجمهور () {
      طلاب = جديد ArrayList <الطلبة> ()؛
      طالب student1 = طالب جديد ( "روبرت"، 0)؛
      طالب student2 = طالب جديد ( "جون"، 1)؛
      students.add (student1)؛
      students.add (student2)؛		
   }
   Override
   deleteStudent الفراغ الجمهور (طالب طالب) {
      students.remove (student.getRollNo ())؛
      System.out.println ( "الطالب: لفة لا" + student.getRollNo () 
         + "، المحذوفة من قاعدة بيانات")؛
   }

   // استرداد قائمة الطلاب منOverride قاعدة بيانات
   قائمة الجمهور <الطلبة> getAllStudents () {
      عودة الطلاب.
   }

   Override
   طالب getStudent الجمهور (الباحث rollNo) {
      العودة students.get (rollNo)؛
   }

   Override
   updateStudent الفراغ الجمهور (طالب طالب) {
      students.get (student.getRollNo ()) setName (student.getName ())؛
      System.out.println ( "الطالب: لفة لا" + student.getRollNo () 
         + "، التحديث في قاعدة البيانات")؛
   }
}

خطوة 4

StudentDaoللتدليل على استخدام نمط كائن الوصول إلى البيانات من الاستخدام.

CompositeEntityPatternDemo.java

الطبقة العامة DaoPatternDemo {
   (وسائط سلسلة []) العامة ساكنة باطلة الرئيسية {
      StudentDao studentDao = الجديدة StudentDaoImpl ()؛

      // إخراج جميع الطلاب ل(طالب الطالب: studentDao.getAllStudents ()) {
         System.out.println ( "الطالب: [RollNo:"
            + Student.getRollNo () + "، اسم:" + student.getName () + "]")؛
      }


      // طالب تحديث طالب طالب = studentDao.getAllStudents () الحصول على (0)؛
      student.setName ( "مايكل")؛
      studentDao.updateStudent (طالب)؛

      // احصل على الطلاب studentDao.getStudent (0)؛
      System.out.println ( "الطالب: [RollNo:"
         + Student.getRollNo () + "، اسم:" + student.getName () + "]")؛		
   }
}

خطوة 5

تحقق من الانتاج.

طالب: [RollNo: 0، الاسم: روبرت]
طالب: [RollNo: 1، الاسم: جون]
طالب: لفة لا 0، المحدثة في قاعدة البيانات
طالب: [RollNo: 0، الاسم: مايكل]