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.
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]