MyBatis vs Hibernate

详情

对比

维度MyBatisHibernate
定位SQL 映射框架全自动 ORM 框架
SQL 控制完全由开发者控制自动生成(可覆盖)
学习曲线
性能高(无额外开销)中(有代理、缓存等开销)
数据库移植差(SQL 写死)好(HQL + Dialect)
适合场景复杂查询、报表、DBA 主导项目快速开发、CRUD 为主、OO 设计优先
JDBC和JTA事务处理支持支持

MyBatis 适合:

  • 喜欢/需要手写 SQL
  • 项目中有复杂查询或性能敏感
  • 团队有 DBA 参与 SQL 优化
  • 不想被 ORM(对象关系映射) 的“魔法”束缚

Hibernate 适合:

  • 希望完全面向对象,不想碰 SQL
  • 需要频繁切换数据库
  • 追求极致的开发速度(如 MVP 快速验证)
  • 对于性能要求不太苛刻的系统,比如管理系统、ERP系统

关联网络

演化日志

  • v0.1 (2026-02-02):初始版本

待办事项

  • 需要补充