在 Java 中,DAO(Data Access Object,数据访问对象) 是一种设计模式,通常归类为结构型模式(或架构设计模式),其核心目的是将业务逻辑与数据访问逻辑分离。
DAO 模式
提供一个抽象的数据访问接口,使上层业务代码不直接操作数据库,而是通过 DAO 对象进行增删改查。
简单来说:
业务层只关心“做什么”,DAO 层负责“怎么存取数据”。
public class User {
private int id;
private String name;
// getter / setter
}
public interface UserDao {
User findById(int id);
void save(User user);
void delete(int id);
}
public class UserDaoImpl implements UserDao {
public User findById(int id) {
// JDBC / SQL 操作
}
}
UserDao userDao = new UserDaoImpl();
User user = userDao.findById(1);
| 分类 | 说明 |
|---|---|
| 架构模式 | 分层架构(Controller / Service / DAO) |
| 设计模式 | 结构型模式(类似适配器、桥接) |
| 思想来源 | 面向接口编程 + 单一职责原则 |
DAO 本身 不是 GoF 23 种设计模式之一,但它是基于多种设计模式组合而成的企业级常用模式。
@Mapper
public interface UserMapper {
User selectById(int id);
}
public interface UserRepository extends JpaRepository<User, Integer> {
}
DAO 模式是 Java 中用于隔离数据访问细节、解耦业务与数据库的设计模式,是分层架构的核心组成部分。
如果你愿意,我也可以帮你画 DAO 分层结构图 或对比 DAO vs Repository。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。