Design patterns
データアクセスオブジェクト(DAO)デザインパターン
サーチ…
データアクセスオブジェクトJavaを使用したJ2EE設計パターン
データアクセスオブジェクト(DAO)設計パターンは、標準の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