知识卡片

数据持久化框架的选型取舍

专业/工作 · 619

内容

Java数据持久化方案大致分两条路线:以Hibernate为代表的ORM框架,把对象与数据库表做映射,开发者操作对象即可完成增删改查,省去手写SQL,但对复杂查询、特殊数据库特性的掌控力较弱;以MyBatis为代表的SQL映射框架,把方法映射到手写SQL语句上,牺牲开发效率换来对SQL的完全掌控,适合需要精细调优的场景;而JdbcTemplate只是对原生JDBC模板代码(建连接、异常处理、手动提交事务)的轻量封装,不引入映射概念。发散:三者的本质取舍是”自动化程度”与”控制粒度”的反比关系——越自动化,越难精细控制底层SQL;越贴近原生JDBC,灵活性越高但样板代码越多。

参考来源

《Spring Boot应用开发实战》第2章《使用Spring Boot构建Web应用程序》