市场上ORM框架MyBatis,Hibernate,Spring Data JPA 的概念比较

市场上的ORM框架

1、MyBatis
  • MybBatis本是Apache的一个开源项目iBatis,2010年这个项目由Apache SoftwareFoundation 迁移到了Google Code,
    并且改名为MyBati.MyBatis着力于POJO和SQL之间的映射关系,可以进行更为细致的SQL,使用起来十分的灵活,上手简单,容易掌握,所以深受开发者的喜欢,目前市场占有率最高,比较适合互联应用公司的API场景
2、Hibernate
  • 开放源代码的对象关系映射框架,对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲地使用对象编程思维来操纵数据库,并且对象有自己的生命周期,着力对象与对象之间的关系,有自己的HQL查询语言,所以数据库的移植性很好。Hibernate是完备的ORM框架,是符合JPA规范的。Hibernate有自己的缓存机制。从上手的角度来说比较难,比较适合企业级的应用系统开发。
3、Spring Data JPA
  • 可以理解为JPA规范的再次封装对象,底层还是使用了Hibernate的JPA技术实现,引用JPQL(Java Persistence Query Language) 查询语言,属于Spring整个生态体系的一部分,随着Spring Boot和Sping Cloud在市场上的流行,Spring Data JPA 也逐渐进入大家的视野,他们组成有机的整体,使用起来比较方便,加快了开发的效率,使得开发者不需要关心和配置更多的东西,又有很大的灵活性,市场的认可度越来越高
4、Spring Data 的子项目

Spring Data JPA 减少数据访问层的开发量
Spring Data MongoDB 基于分布式存储的数据库MongoDB
Spring Data Redis key-value数据库Redis

HibernateMyBatisSpring Data JPA都是Java持久化框架,但它们各自有不同的优缺点。 Hibernate是一个全自动ORM框架,它可以将Java对象映射到数据库表中。Hibernate具有以下优点: - 简化了数据库操作,使开发变得更加容易和快捷。 - Hibernate具有强大的缓存机制,可以提高应用程序的性能。 - 支持延迟加载和预取,可以优化查询性能。 - Hibernate提供了丰富的映射关系和查询功能,可以满足复杂业务场景的需求。 但是,Hibernate也存在一些缺点: - Hibernate自动生成的SQL语句可能不够优化,导致性能问题。 - Hibernate的学习曲线比较陡峭,需要掌握复杂的映射关系和查询语言。 - Hibernate的配置比较复杂,需要花费一定的时间和精力。 MyBatis是一个半自动化ORM框架,它将SQL语句与Java代码分离。MyBatis具有以下优点: - MyBatis使用简单,易于学习和使用。 - MyBatis具有良好的灵活性,可以自由控制SQL语句的生成。 - MyBatis支持较好的批量处理和动态SQL,可以提高性能。 但是,MyBatis也存在一些缺点: - MyBatis需要手写SQL语句,对于复杂的查询可能会比较麻烦。 - MyBatis对于多表关联的查询支持相对较弱,需要手动编写复杂的SQL语句。 - MyBatis的错误提示不够友好,需要花费一定的时间和精力进行排查。 Spring Data JPASpring Data家族中的一个成员,它是一个全自动化ORM框架,使用JPA规范。Spring Data JPA具有以下优点: - Spring Data JPA提供了大量的自动化特性,可以大幅度减少开发时间。 - Spring Data JPA支持多种数据库,可以灵活地切换数据库。 - Spring Data JPA提供了良好的错误提示和调试信息,方便排查问题。 但是,Spring Data JPA也存在一些缺点: - Spring Data JPA对于复杂查询的支持相对较弱,需要手写SQL语句。 - Spring Data JPA的性能可能存在一定的问题,需要合理配置和优化。 - Spring Data JPA依赖于JPA规范,可能对于一些特殊需求不太适用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值