在 Java 开发中,DAO(Data Access Object,数据访问对象) 是一种设计模式,主要用来把“业务逻辑”和“数据库访问操作”分离开。
下面用通俗一点的方式说明它的作用。
DAO 的核心作用:
专门负责和数据库打交道(增删改查),不让业务代码直接写 SQL。
举个例子:
没有 DAO 时(不推荐):
// Service 里直接写 SQL
Connection conn = ...
PreparedStatement ps = conn.prepareStatement(
"SELECT * FROM user WHERE id = ?"
);
ps.setInt(1, 1);
ResultSet rs = ps.executeQuery();
问题:
有 DAO 后(推荐):
User user = userDao.findById(1);
✅ Service 只关心“我要查用户”,不关心“怎么查”。
典型分层结构:
Controller
↓
Service(业务逻辑)
↓
DAO(数据访问)
↓
数据库
public interface UserDao {
User findById(int id);
void save(User user);
void delete(int id);
}
@Repository
public class UserDaoImpl implements UserDao {
public User findById(int id) {
// JDBC / MyBatis / JPA
}
}
例如:
它们本质上都是在实现 DAO 模式。
DAO 的作用就是:把“怎么访问数据库”藏起来,让业务代码更干净、更好维护。
如果你愿意,我也可以:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。