JPA,Hibernate,MyBatis,和Spring Data JPA

JPA: java持久层api,是 Java Persistence API 的简写,是一种规范。
Hibernate是JAP的具体实现,全自动型的ORM对象关系映射框架。
Spring Data JPA就更加牛逼了,是JPA的数据访问抽象,什么意思?
也就是说使用Spring Data,你可以使用Hibernate,Eclipse Link或任何其他JPA提供程序。
属于Hibernate的上一级。并且Spring Data默认内部就是hibernate实现。如果需要加入Eclipse Link,需要稍作改动。


MyBatis和Hibernate(Spring Data JPA)相比

  • 相同点:

    1. 都是持久层对象关系映射框架
    2. 都内置了缓存
  • 不同点:

    1. Hibernate是全自动的,MyBatis是半自动的。
      全自动: 可以不用写sql,默认内部就帮你实现了,而且改了实体类属性,可以自动把你该数据库字段。
    2. Hibernate由于不用写sql所以是跨数据库的,而MyBatis是统一的xml文件来进行写sql
    3. MyBatis学习门槛较为低一点,可控性更强一点。Hibernate学习成本高一点。
  • 总结:
    还是Mybatis比较好,因为更好管理以及维护性更强一点,sql更加灵活,我觉得mybatis更具有java面向对象思想。
    同时mybatis也支持各种条件查询(if-else)。
    而hibernate如果要支持复杂的条件的话,那就必须要把sql写在java代理里,那就真的太恶心了,无法忍受。
    而且数据表关系复杂,你再使用hibernate,那估计自杀的心都有了哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值