美文网首页
Mybatis vs JPA(Hibernate)

Mybatis vs JPA(Hibernate)

作者: 天一方蓝 | 来源:发表于2019-08-20 17:14 被阅读0次

一、应用场合:

传统公司、部分个人开发者喜欢用jpa(Hibernate);而互联网公司更青睐于mybatis

原因:

1、mybatis更加灵活,开发迭代模式决定了他是互联网公司的首先;每一次的修改不会带来性能上的下降。

2、传统公司需求迭代速度慢、项目改动小,hibernate可以做到一劳永逸;hibernate容易因为添加关联关系或者开发者不了解优化导致项目,造成越改越糟糕。

二、各自特点:

1、mybatis官方文档就说了他是一个半自动化的持久层框架,相对于按自动的hibernate更加灵活可控;

2、mybatis的学习成本低于hibernate。

3、使用hibernate需要对他有深入的了解,尤其是缓存方面,作为一个持久层框架,性能还是第一位的。

hibernate具有三级缓存,一级缓存默认是开启的,二级缓存需要手动开始并配置优化,三级缓存可以整合业界流行的缓存技术:redis,ecache等等。

4、hibernate在关联查询中的懒加载。(在开发中,还是不建议去过多使用外键去关联操作)

5、jpa是一种规范,hibernate也是遵从这种规范;

6、springDataJpa是对repository的封装,简化了repository的操作。

  1. Mybatis优势
    Mybatis优势
    8.JPA优势
    JPA优势
    9.Mybatis劣势
    Mybatis劣势
    需要Mybatis-Plus 登场

三丶个人感觉

如何对 JPA 或者 MyBatis 进行技术选型

总结

1、JPA、Hibernate、Mybatis简单了解

1.JPA:本身是一种ORM规范,不是ORM框架.由各大ORM框架提供实现.

2.Hibernate:目前最流行的ORM框架,设计灵巧,文档丰富(完全自动操作),只是性能不好控制(自己去控制性能,不是很好控制)。

Hibernate是一个完整的ORM框架,常规CRUD我们不需要写一句SQL;

3.MyBatis:本是apache的一个开源项目iBatis,提供的持久层框架包括SQL Maps和Dao,允许开发人员直接编写SQL(更好灵活).(Sql操作方式)

MyBatis 并不是一个完整的ORM框架,因为我们还需要自己去写全部SQL

2、JPA 和Hibernate 和 Mybatis的区别

JPA:规范,各大ORM框架实现这个规范。可以自动建表。

Hibernate:是完整的ORM,不需要我们写sql,框架比较重,学习成本比较高,性能不好控制,功能强大且文档丰富。

Mybatis:不是完整的ORM,程序员需要自己去写全部的SQL,轻量级框架,学习成本低,性能好控制。不能自动建表。

ORM操作数据库关系映射的方式:

1、通过配置文件,将domain和数据库中的表映射,将domain成员成员变量和表中的列映射。

相关文章

网友评论

      本文标题:Mybatis vs JPA(Hibernate)

      本文链接:https://www.haomeiwen.com/subject/ldgpsctx.html