我的项目经理要我使用 DAO/DTO 对象来访问和检索数据库中的数据。项目是用 Java SE 编写的,没有使用任何框架或 ORM。他的论点是使代码更易于测试并改进代码设计。有道理吗?
如何初始化 DAO 对象?是否应在创建具有 DAO 字段的类的实例时初始化:
private PersonDao personDao = new PersonDaoImpl();
或者更确切地说是在必要时初始化?
public class A {
private PersonDao person;
public List<Person> findAll() {
person = new PersonDaoImpl();
return person.getAll();
}
}
它允许很容易地模拟这个接口(interface),但是它是否符合 DAO 模式的使用约定?
最佳答案
数据访问对象基本上是一个对象或接口(interface),提供对底层数据库或任何其他持久性存储的访问。
该定义来自:http://en.wikipedia.org/wiki/Data_access_object
也许一个简单的例子可以帮助你理解这个概念:
假设我们有一个代表员工的实体:
public class Employee {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
员工实体将保存到数据库中相应的员工表中。一个简单的 DAO 接口(interface)来处理运算符(operator)工实体所需的数据库操作,如下所示:
interface EmployeeDAO {
List<Employee> findAll();
List<Employee> findById();
List<Employee> findByName();
boolean insertEmployee(Employee employee);
boolean updateEmployee(Employee employee);
boolean deleteEmployee(Employee employee);
}
接下来我们必须为该接口(interface)提供一个具体的实现来处理 SQL 服务器,另一个接口(interface)来处理平面文件等...
希望对你有帮助
关于java - 在 Java SE 中使用 DAO 有什么改进?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28894999/