简短结论:DAO(Data Access Object)本身并不能直接“提升”运行性能,它主要是一种设计模式/分层架构,目的是解耦、可维护、可测试。性能是否提升,取决于你怎么实现 DAO。
下面具体说。
DAO 是把“对数据库的访问”从业务逻辑中抽出来的一种模式:
例如:
public interface UserDao {
User findById(Long id);
}
DAO 只是代码组织方式:
✅ DAO ≠ 性能优化手段
这是重点。
DAO 层统一入口,方便加缓存:
User findById(Long id) {
User u = cache.get(id);
if (u != null) return u;
u = mapper.selectById(id);
cache.put(id, u);
return u;
}
➡ 没有 DAO,缓存容易散落得到处都是
DAO 层可以统一:
没有 DAO 时常见问题:
DAO 能减少这类“人为性能事故”
❌ 每个方法都开新连接
❌ DAO 里写复杂业务逻辑
❌ 一层套一层(Service→DAO→Helper→Util)
❌ 为了“规范”搞过度抽象
这些都会:
✅ 索引
✅ SQL 优化
✅ 批量操作
✅ 缓存(Redis / 本地)
✅ 连接池(HikariCP)
✅ 读写分离
✅ 合理事务边界
DAO 不提升性能,但好的 DAO 设计让性能优化更容易、更可控。
如果你愿意,可以告诉我:
我可以直接给你具体优化建议或示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。