Design patterns
Modèle de conception DAO (Data Access Object)
Recherche…
Modèle de conception de l'objet d'accès aux données J2EE avec Java
Le modèle de conception DAO (Data Access Object) est un modèle de conception J2EE standard.
Dans cette conception, les données de modèle sont accessibles via des classes contenant des méthodes permettant d'accéder aux données provenant de bases de données ou d'autres sources, appelées objets d'accès aux données . La pratique standard suppose qu'il existe des classes POJO. DAO peut être mélangé avec d'autres modèles de conception pour accéder à des données, comme avec MVC (contrôleur de vue de modèle), modèles de commandes, etc.
Voici un exemple de modèle de conception DAO. Il a une classe Employee , un DAO pour Employee appelé EmployeeDAO et une classe ApplicationView pour illustrer les exemples.
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;
}
}
Par conséquent, nous avons un exemple où nous voyons comment utiliser le modèle de conception d'objet d'accès aux données.