温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mybatis 算 java DAO 吗

发布时间:2026-10-26 04:25:44 来源:亿速云 阅读:95 作者:小樊 栏目:编程语言

简短回答:MyBatis 不算 Java DAO,但它通常用来实现 DAO 层。

更清楚地解释一下:

1. 什么是 DAO

DAO(Data Access Object) 是一种设计模式/分层概念,用来把“业务逻辑”和“数据库访问”隔离开来。
在 Java 里,DAO 一般是:

  • 一个接口(如 UserDao)
  • 一个实现类(如 UserDaoImpl)
  • 负责数据库 CRUD 操作

例如:

public interface UserDao {
    User selectById(Long id);
}

2. MyBatis 是什么

MyBatis 是一个 持久层框架(ORM 框架),用来简化 JDBC 操作。
它本身不是 DAO,也不是某种“层”,而是一个工具/框架。

MyBatis 常见用法:

  • 写 Mapper 接口
  • 写 XML 或注解 SQL
  • 由 MyBatis 生成 DAO 实现
@Mapper
public interface UserMapper {
    User selectById(Long id);
}

3. 它们的关系

可以这样理解:

DAO 层(概念)
 └── 用 MyBatis 来实现(技术)
  • ✅ DAO:架构分层中的“数据访问层”
  • ✅ MyBatis:实现 DAO 的框架之一
  • ❌ MyBatis ≠ DAO 本身

4. 类似对比

概念 类型
DAO 设计模式 / 分层
MyBatis 框架
JPA / Hibernate 框架
UserDaoImpl DAO 实现类

总结

MyBatis 不是 Java DAO,而是常用于实现 DAO 层的持久层框架。

如果你愿意,我也可以画一张“Controller → Service → DAO → MyBatis”的层级图。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手