Skip to content

ORM

ORM 用来连接 Java 对象和关系型数据库。学习 ORM 不能只停留在“会写 Mapper”或“会用 Repository”,还要理解 SQL 执行、参数绑定、结果映射、缓存、事务、批量写入和慢 SQL 排查。

推荐学习顺序

  1. 从零到生产级掌握
  2. 从零到精通验收清单
  3. 商业场景训练营
  4. MyBatis
  5. MyBatis核心全过程原理
  6. MyBatis动态SQL
  7. MyBatis缓存机制
  8. MyBatis批量操作
  9. MyBatis拦截器
  10. MyBatis-Plus核心全过程原理
  11. Hibernate/JPA核心全过程原理
  12. Spring Data JPA核心全过程原理
  13. ORM事务与一致性
  14. ORM面试题

如果你想检查自己是否真的从零基础学懂到能面试、能落地、能排查,按 ORM 从零到精通验收清单 逐项验收。它会把 JDBC、MyBatis、MyBatis-Plus、JPA/Hibernate、Spring Data JPA、事务、缓存、批量和慢 SQL 排查串起来。

学习主线

mermaid
flowchart TD
    A["JDBC 基础问题"] --> B["MyBatis 参数绑定和结果映射"]
    B --> C["动态 SQL、缓存、插件"]
    C --> D["MyBatis-Plus 增强"]
    D --> E["JPA/Hibernate 持久化上下文"]
    E --> F["Spring Data JPA Repository"]
    F --> G["事务边界和一致性"]
    G --> H["性能排查和面试表达"]

选型建议

场景推荐
复杂 SQL、报表、性能敏感MyBatis
后台单表 CRUDMyBatis-Plus 或 Spring Data JPA
领域模型清晰、CRUD 多JPA/Hibernate
批量采集入库MyBatis 批量写入
大表分页和复杂条件MyBatis 手写 SQL 并结合索引优化

最容易踩的坑

后果继续学习
不看最终 SQLORM 看似成功,线上慢查询从零到生产级掌握
${} 拼用户输入SQL 注入MyBatis动态SQL
乱开二级缓存读到旧数据MyBatis缓存机制
JPA 返回 Entity懒加载、循环引用、字段泄露Hibernate/JPA核心全过程原理
事务放 Mapper 层多表业务不能整体回滚ORM事务与一致性
超大批次导入锁、undo、内存和回滚压力MyBatis批量操作

小结

ORM 的本质是工程化封装,不是替代数据库知识。只有把 SQL、索引、事务、缓存、对象映射和线上排查串起来,才能在商业项目中真正用好 ORM。