MyBatis vs Hibernate
详情
对比
| 维度 | MyBatis | Hibernate |
|---|---|---|
| 定位 | 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):初始版本
待办事项
- 需要补充