Suche…


Datenzugriffsobjekt J2EE-Entwurfsmuster mit Java

DAO- Entwurfsmuster (Data Access Object) ist ein Standard-J2EE-Entwurfsmuster.

In diesem Entwurfsmuster wird auf Daten über Klassen zugegriffen, die Methoden für den Zugriff auf Daten aus Datenbanken oder anderen Quellen enthalten, die als Datenzugriffsobjekte bezeichnet werden . Die übliche Praxis geht davon aus, dass es POJO-Klassen gibt. DAO kann mit anderen Design Patterns gemischt werden, um auf Daten zuzugreifen, z. B. mit MVC (Model View Controller), Command Patterns usw.

Das folgende Beispiel zeigt ein DAO-Entwurfsmuster. Es verfügt über eine Employee- Klasse, einen DAO für Employee mit dem Namen EmployeeDAO und eine ApplicationView- Klasse, um die Beispiele zu veranschaulichen.

Mitarbeiter.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;
    }

}

Daher haben wir ein Beispiel, in dem wir sehen, wie das Entwurfsmuster für Datenzugriffsobjekte verwendet wird.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow