gpt4 book ai didi

java - 在 Java SE 中使用 DAO 有什么改进?

转载 作者:行者123 更新时间:2023-11-28 21:04:48 25 4
gpt4 key购买 nike

我的项目经理要我使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com