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。