데이터 액세스 객체 흔히 알려진 패턴 칼 패턴은 높은 수준의 비즈니스 서비스와 낮은 수준의 데이터 액세스 API 또는 작업을 구분하는 데 사용됩니다. 데이터 액세스 개체 패턴의 구성원은 다음과 같습니다.
데이터 액세스 개체 인터페이스: 데이터 액세스 객체 인터페이스는 모델 객체에 대해 수행되는 일반적인 작업을 지정합니다.
구체적인 데이터 액세스 객체 클래스: 이 클래스는 앞서 언급한 인터페이스를 구현합니다. 이 클래스는 데이터베이스, XML 또는 다른 유형의 저장 시스템일 수 있는 데이터 소스에서 데이터를 얻는 일을 담당합니다.
모델 또는 값 개체: 이 객체는 DAO 클래스를 사용하여 얻은 데이터를 저장하기 위한 get/set 메소드가 있는 간단한 POJO입니다.
tostring 메소드 자바
구현
학생 개체가 생성되어 모델 및 값 개체로 사용됩니다.
데이터 접근 객체 인터페이스는 StudentDao라고 불립니다.
메모리 교환
구체적인 클래스 StudentDaoImpl은 데이터 액세스 객체 인터페이스를 구현합니다. StudentDao는 데이터 액세스 개체 패턴을 사용하는 방법을 보여주기 위해 데모 클래스인 DaoPatternDemo에서 사용됩니다.
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 단계:
Java의 csv 파일에서 읽기
데이터 액세스 개체 인터페이스 생성.
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단계:
svn 체크아웃이 뭔가요?
결과를 확인하세요.