当前位置: 代码迷 >> 综合 >> Tools-持久层技术比较
  详细解决方案

Tools-持久层技术比较

热度:17   发布时间:2023-10-24 06:26:22.0

技术

优点

缺点

jdbc

简单、纯粹,一切均可见;

1、需要手动关闭连接接
2、结果集不能自动映射为对象
3、SQL夹杂在Java代码中,耦合度高,导致硬编码内伤

4、实际开发中SQL经常变动,导致频繁修改,代码不易维护;

jdbcTemplate

简单、纯粹、自动会话管理、结果集映射

需要手动拼装SQL,SQL与Java代码混合在一起,长的SQL管理混乱

Hirbernate

JPA

编程效率高,无需编写SQL。
数据库更换成本低

较完善的二级缓存、自动防SQL注入

完全掌握的门槛高;
复杂SQL、复杂映射处理困难;
性能优化较麻烦、不易做特殊优化;
基于全映射的全自动框架,大量字段的POJO进行部分映射时比较困难,导致数据库性能下降;

MyBatis

学习成本低、可以进行更为细腻的SQL优化,减少查询字段、统一的SQL管理
SQL和Java编码分开,功能边界清晰,一个专注业务、一个专注数据

需要手动编写维护SQL、表结构变更之后需要手动维护SQL与映射;

  相关解决方案