データアクセスオブジェクト パターン、よく知られている ナイフ パターンは、API またはアクションにアクセスする低レベルのデータから高レベルのビジネス サービスを分割するために使用されます。データ アクセス オブジェクト パターンのメンバーを以下に示します。
データ アクセス オブジェクト インターフェイス: データ アクセス オブジェクト インターフェイスは、モデル オブジェクトに対して実行される一般的な操作を指定します。
具体的なデータ アクセス オブジェクト クラス: このクラスは前述のインターフェイスを実装します。このクラスは、データベース、XML、または別のタイプのストレージ システムなどのデータ ソースからデータを取得する役割を果たします。
モデルまたは値オブジェクト: このオブジェクトは、DAO クラスを使用して取得したデータを格納するための get/set メソッドを備えた単純な POJO です。
実装
Student オブジェクトが作成され、モデルおよび値オブジェクトとして使用されます。
データ アクセス オブジェクト インターフェイスは StudentDao と呼ばれます。
具象クラス StudentDaoImpl は、データ アクセス オブジェクト インターフェイスを実装します。 StudentDao は、データ アクセス オブジェクト パターンの使用方法を示すために、デモ クラスである DaoPatternDemo によって使用されます。
整数から文字列Javaへ
ステップ1:
値オブジェクトの作成。
S.java
public class S { private String n; private int r; S(String n, int r){ this.n = n; this.r = r; } public String getName() { return n; } public void setName(String n) { this.n = n; } public int getRollNo() { return r; } public void setRollNo(int r) { this.r = r; } }
ステップ2:
データ アクセス オブジェクト インターフェイスの作成。
SD.java
import java.util.List; public interface SD { public List getAllStudents(); public S getStudent(int r); public void updateStudent(S s); public void deleteStudent(S s); }
ステップ 3:
前述のインターフェイスを実装するクラスを構築します。
SDI.java
import java.util.ArrayList; import java.util.List; public class SDI implements SD { // list is working as the database List ss; public SDI(){ ss = new ArrayList(); S s1 = new S('Sonoo',0); S s2 = new S('Jaiswal',1); ss.add(s1); ss.add(s2); } @Override public void deleteStudent(S s) { students.remove(s.getRollNo()); System.out.println(' Student: Roll No ' + student.getRollNo() + ', has been deleted from the database'); } // traversing list of students from the database @Override public List getAllStudents() { return ss; } @Override public S getStudent(int r) { return ss.get(r); } @Override public void updateStudent(S s) { ss.get(s.getRollNo()).setName(s.getName()); System.out.println(' Student: Roll No ' + student.getRollNo() + ', has been updated in the database'); } }
ステップ 4:
StudentDao を利用して、データ アクセス オブジェクト パターンの使用方法を説明します。
DPDemo.java
モニターの画面サイズを確認する方法
public class DPDemo { public static void main(String[] args) { SD sD = new SDI(); // print all the students for (S s : sD.getAllStudents()) { System.out.println('Student: [RollNo : ' + s.getRollNo() + ', Name : ' + s.getName() + ' ]'); } // update student S s =sD.getAllStudents().get(0); s.setName('JavaTpoint'); sD.updateStudent(s); //get the student sD.getStudent(0); System.out.println('Student: [RollNo : ' + s.getRollNo() + ', Name : ' + s.getName() + ' ]'); } }
ステップ5:
結果を確認してください。