简短结论先说:DAO(Data Access Object)本身并不会直接“提升”数据库或 Java 程序的运行性能,它主要是一个架构设计模式,核心价值在可维护性、可测试性、解耦,而不是性能优化。
下面分点说清楚:
DAO 是一种分层设计模式,用来把:
隔离开来。
例如:
// 业务层不关心 SQL 怎么写
UserService -> UserDao -> 数据库
DAO 本身只是“中间层代码”,多了一层方法调用:
service.getUser()
-> userDao.selectById()
-> jdbc.executeQuery()
它:
所以 DAO ≠ 性能优化手段
这是重点:
DAO 层是统一入口,方便加:
User getUser(Long id) {
if (cache.has(id)) return cache.get(id);
return dao.selectById(id);
}
如果没有 DAO,缓存会散落得到处都是。
DAO 集中管理 SQL:
这些都是性能提升点,但不是 DAO 本身带来的。
例如:
业务代码完全不动。
真正影响性能的是这些,而不是 DAO:
✅ SQL 优化
✅ 索引
✅ 连接池(HikariCP)
✅ 批量操作
✅ 缓存
✅ 避免 N+1 查询
DAO 只是让这些措施更好落地。
DAO 不提升性能,但能让你更容易写出高性能、可维护的代码。
如果你愿意,我可以:
你更想看哪一个?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。