수색…


Java를 사용한 데이터 액세스 객체 J2EE 디자인 패턴

DAO (Data Access Object) 디자인 패턴은 표준 J2EE 디자인 패턴입니다.

이 디자인 패턴에서 데이터는 데이터 액세스 객체 라고하는 데이터베이스 또는 기타 소스의 데이터에 액세스하는 메서드가 포함 된 클래스를 통해 액세스됩니다 . 표준 연습에서는 POJO 클래스가 있다고 가정합니다. DAO는 MVC (모델 뷰 컨트롤러), 명령 패턴 등과 같은 데이터에 액세스하기 위해 다른 디자인 패턴과 혼합 될 수 있습니다.

다음은 DAO 디자인 패턴의 예입니다. 여기에는 Employee 클래스, EmployeeDAO라고하는 Employee 용 DAO 및 예제를 보여주기위한 ApplicationView 클래스가 있습니다.

Employee.java

public class Employee {
    private Integer employeeId;
    private String firstName;
    private String lastName;
    private Integer salary;
    
    public Employee(){
        
    }
    
    public Employee(Integer employeeId, String firstName, String lastName, Integer salary) {
        super();
        this.employeeId = employeeId;
        this.firstName = firstName;
        this.lastName = lastName;
        this.setSalary(salary);
    }

    //standard setters and getters

}

EmployeeDAO

public class EmployeeDAO {
    
    private List<Employee> employeeList;
    
    public EmployeeDAO(List<Employee> employeeList){ 
        this.employeeList = employeeList;
    }
    
    public List<Employee> getAllEmployees(){
        return employeeList;
    }
    
    //add other retrieval methods as you wish
    public Employee getEmployeeWithMaxSalary(){
        Employee employee = employeeList.get(0);
        for (int i = 0; i < employeeList.size(); i++){
            Employee e = employeeList.get(i);
            if (e.getSalary() > employee.getSalary()){
                employee = e;
            }
        }
        
        return employee;
    }
    
}

ApplicationView.java

public class ApplicationView {

    public static void main(String[] args) {
        // See all the employees with data access object

        List<Employee> employeeList = setEmployeeList();
        EmployeeDAO eDAO = new EmployeeDAO(employeeList);

        List<Employee> allEmployees = eDAO.getAllEmployees();

        for (int i = 0; i < allEmployees.size(); i++) {
            Employee e = employeeList.get(i);
            System.out.println("UserId: " + e.getEmployeeId());
        }

        Employee employeeWithMaxSalary = eDAO.getEmployeeWithMaxSalary();

        System.out.println("Maximum Salaried Employee" + " FirstName:" + employeeWithMaxSalary.getFirstName()
        + " LastName:" + employeeWithMaxSalary.getLastName() + " Salary: " + employeeWithMaxSalary.getSalary());

    }

    public static List<Employee> setEmployeeList() {
        Employee employee1 = new Employee(1, "Pete", "Samprus", 3000);
        Employee employee2 = new Employee(2, "Peter", "Russell", 4000);
        Employee employee3 = new Employee(3, "Shane", "Watson", 2000);

        List<Employee> employeeList = new ArrayList<>();
        employeeList.add(employee1);
        employeeList.add(employee2);
        employeeList.add(employee3);
        return employeeList;
    }

}

따라서 데이터 액세스 개체 디자인 패턴을 사용하는 방법을 보여주는 예제가 있습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow