Latest web development tutorials

Obyek Pola Data Access

Data Access Object Model (Data Access Object Pola) atau pola DAO untuk tingkat rendah akses data API atau terpisah dari pengoperasian layanan bisnis yang maju. Berikut ini adalah peserta dalam pola Object Data Access.

  • Antarmuka Data Access Objects (Data Access Object Interface) - Interface ini mendefinisikan operasi standar pada model objek yang akan dieksekusi.
  • Data Access Objects kelas entitas (Data Access Object kelas beton) - Kelas ini mengimplementasikan interface di atas.Kelas ini bertanggung jawab untuk mendapatkan data dari sumber data, sumber data dapat database, dapat xml, atau mekanisme penyimpanan lainnya.
  • Model Object / objek nilai (Object Model / Nilai Obyek) - Tujuannya adalah POJO sederhana, termasuk mendapatkan / metode set untuk menyimpan dengan menggunakan kelas DAO untuk mengambil data.

realisasi

Kami akan membuat objekStudentobjek model atau objek nilai sebagai.StudentDaoantarmuka akses data objek.StudentDaoImplentitas kelas adalah untuk mencapai antarmuka akses data objek.DaoPatternDemo,kelas demonstrasi kami untuk menunjukkan penggunaanStudentDaoData Access pola Obyek penggunaan.

Data Access Object pola diagram UML

Langkah 1

Buat objek nilai.

Student.java

public class Student {
   private String nama;
   private int rollNo;

   Mahasiswa (String nama, int rollNo) {
      this.name = nama;
      this.rollNo = rollNo;
   }

   public String getName () {
      Nama kembali;
   }

   public void setName (String nama) {
      this.name = nama;
   }

   public int getRollNo () {
      kembali rollNo;
   }

   public void setRollNo (int rollNo) {
      this.rollNo = rollNo;
   }
}

Langkah 2

Membuat antarmuka objek akses data.

StudentDao.java

import java.util.List;

antarmuka publik StudentDao {
   publik Daftar <Mahasiswa> getAllStudents ();
   publik Mahasiswa getStudent (int rollNo);
   public void updateStudent (mahasiswa Mahasiswa);
   public void deleteStudent (mahasiswa Mahasiswa);
}

Langkah 3

Buat kelas entitas mengimplementasikan interface di atas.

StudentDaoImpl.java

impor java.util.ArrayList;
import java.util.List;

public class StudentDaoImpl mengimplementasikan StudentDao {
	
   // Daftar adalah database sebagai Daftar <Mahasiswa> siswa;

   publik StudentDaoImpl () {
      mahasiswa = new ArrayList <Mahasiswa> ();
      Mahasiswa Murid1 = mahasiswa baru ( "Robert", 0);
      Mahasiswa Murid2 = mahasiswa baru ( "John", 1);
      students.add (Murid1);
      students.add (Murid2);		
   }
   @ Override
   public void deleteStudent (mahasiswa Mahasiswa) {
      students.remove (student.getRollNo ());
      System.out.println ( "Mahasiswa: Gulung ada" + student.getRollNo () 
         + ", Dihapus dari database");
   }

   // Ambil daftar siswa dari @ Override basis data
   publik Daftar <Mahasiswa> getAllStudents () {
      kembali siswa;
   }

   @ Override
   publik Mahasiswa getStudent (int rollNo) {
      kembali students.get (rollNo);
   }

   @ Override
   public void updateStudent (mahasiswa Mahasiswa) {
      students.get (student.getRollNo ()) setName (student.getName ()) .;
      System.out.println ( "Mahasiswa: Gulung ada" + student.getRollNo () 
         + ", Updated dalam database");
   }
}

Langkah 4

StudentDaountuk menunjukkan penggunaan pola Object Data Access penggunaan.

CompositeEntityPatternDemo.java

public class DaoPatternDemo {
   public static void main (String [] args) {
      StudentDao studentDao = baru StudentDaoImpl ();

      // Output semua siswa untuk (mahasiswa Mahasiswa: studentDao.getAllStudents ()) {
         System.out.println ( "Mahasiswa: [RollNo:"
            + Student.getRollNo () + ", Nama:" + student.getName () + "]");
      }


      // Siswa Perbarui Mahasiswa Mahasiswa = studentDao.getAllStudents () mendapatkan (0) .;
      student.setName ( "Michael");
      studentDao.updateStudent (mahasiswa);

      // Dapatkan siswa studentDao.getStudent (0);
      System.out.println ( "Mahasiswa: [RollNo:"
         + Student.getRollNo () + ", Nama:" + student.getName () + "]");		
   }
}

Langkah 5

Verifikasi output.

Mahasiswa: [RollNo: 0, Nama: Robert]
Mahasiswa: [RollNo: 1, Nama: John]
Mahasiswa: Gulung ada 0, diperbarui dalam database
Mahasiswa: [RollNo: 0, Nama: Michael]