Hibernate的优点:

1、hibernate是全自动,hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成sql。

2、功能强大,数据库无关性好,O/R映射能力强,需要写的代码很少,开发速度很快。

3、有更好的二级缓存机制,可以使用第三方缓存。

4、数据库移植性良好。

5、hibernate拥有完整的日志系统,hibernate日志系统非常健全,涉及广泛,包括sql记录、关系异常、优化警告、缓存提示、脏数据警告等

Hibernate的缺点:

1、学习门槛高,精通门槛更高,程序员如何设计O/R映射,在性能和对象模型之间如何取得平衡,以及怎样用好Hibernate方面需要的经验和能力都很强才行

2、hibernate的sql很多都是自动生成的,无法直接维护sql;虽然有hql查询,但功能还是不及sql强大,见到报表等变态需求时,hql查询要虚,也就是说hql查询是有局限的;hibernate虽然也支持原生sql查询,但开发模式上却与orm不同,需要转换思维,因此使用上有些不方便。总之写sql的灵活度上hibernate不及mybatis。

Mybatis的优点:

1、易于上手和掌握,提供了数据库查询的自动对象绑定功能,而且延续了很好的SQL使用经验,对于没有那么高的对象模型要求的项目来说,相当完美。

2、sql写在xml里,便于统一管理和优化, 解除sql与程序代码的耦合。

3、提供映射标签,支持对象与数据库的orm字段关系映射

4、 提供对象关系映射标签,支持对象关系组建维护

5、提供xml标签,支持编写动态sql。

6、速度相对于Hibernate的速度较快

Mybatis的缺点:

1、关联表多时,字段多的时候,sql工作量很大。

2、sql依赖于数据库,导致数据库移植性差。

3、由于xml里标签id必须唯一,导致DAO中方法不支持方法重载。

4、对象关系映射标签和字段映射标签仅仅是对映射关系的描述,具体实现仍然依赖于sql。

5、DAO层过于简单,对象组装的工作量较大。

6、不支持级联更新、级联删除。

7、Mybatis的日志除了基本记录功能外,其它功能薄弱很多。

8、编写动态sql时,不方便调试,尤其逻辑复杂时。

9、提供的写动态sql的xml标签功能简单,编写动态sql仍然受限,且可读性低。

转载于:https://www.cnblogs.com/javacatalina/p/6590321.html

MyBatis和Hibernate的优缺点对比。相关推荐

  1. MyBatis和Hibernate的优缺点对比

    Hibernate的优点: 1.hibernate是全自动,hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成sql. 2.功能强 ...

  2. Mybatis与Hibernate的详细对比

    转载自  Mybatis与Hibernate的详细对比 前言 这篇博文我们重点分析一下Mybatis与Hibernate的区别,当然在前面的博文中我们已经深入的研究了Mybatis和Hibernate ...

  3. 【持久化框架】Mybatis与Hibernate的详细对比

    前言 这篇博文我们重点分析一下Mybatis与Hibernate的区别,当然在前面的博文中我们已经深入的研究了Mybatis和Hibernate的原理. Mybatis [持久化框架]Mybatis简 ...

  4. Mybatis和hibernate的优缺点比较

    Hibernate :Hibernate 是当前最流行的ORM框架,对数据库结构提供了较为完整的封装. Mybatis:Mybatis同样也是非常流行的ORM框架,主要着力点在于POJO 与SQL之间 ...

  5. jdbc,mybatis,hibernate各自优缺点及区别

    jdbc,mybatis,hibernate各自优缺点及区别 先比较下jdbc编程和hibernate编程各自的优缺点. JDBC: 我们平时使用jdbc进行编程,大致需要下面几个步骤:1,使用jdb ...

  6. mybatis和hibernate的对比总结

    mybatis和hibernate 第一步, 首先让我们对mybatis和hibernate对比了解下 1. Hibernate :Hibernate 是当前非常流行的ORM框架,对数据库结构提供了较 ...

  7. hibernate oracle查询最大值_Java大数据:Mybatis和Hibernate对比分析

    在Java企业级平台开发任务当中,持久层框架的选择,Mybatis和Hibernate都占据一定的市场.从大趋势来说,传统企业偏爱Hibernate,而互联网更偏爱Mybatis.今天的大数据基础分享 ...

  8. mybatis与hibernate的对比

    相同点: (1)Hibernate与MyBatis都是通过SessionFactoryBuider由XML配置文件生成SessionFactory,由SessionFactory 生成Session, ...

  9. jdbc与hibernate的优缺点比较

    jdbc与hibernate的优缺点比较 一. Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架,和App Server,和EJB没有什么必然的联系.Hibernate可以 ...

  10. MyBatis 与 Hibernate 到底哪个更快?

    前言 由于编程思想与数据库的设计模式不同,生出了一些ORM框架. 核心都是将关系型数据库和数据转成对象型.当前流行的方案有Hibernate与myBatis. 两者各有优劣.竞争激烈,其中一个比较重要 ...

最新文章

  1. 敏捷团队如何通过Leangoo领歌做迭代管理、迭代规划及任务协同
  2. flat在java中的含义_java – 在flatingBy中使用flatMap的优雅方法
  3. C# WinForm给Button按钮或其它控件添加快捷键响应
  4. 分布式系统关注点:无状态
  5. python 是什么类型的语言-python是一种什么类型的语言
  6. Halcon初学者知识【17】如何将零件提取dxf图
  7. C++内存模型和原子类型操作
  8. pat 1034. Head of a Gang (30)
  9. php获取表单后如何保存到数据库中,php – 如何将数据从HTML表单保存到WordPress中的数据库表?...
  10. 推荐一个免费的在线图片工具网站
  11. 什么集成mysql_mysql集成部署
  12. 设计模式系列 - 原型模式
  13. 特征经验分享以及管理文件,远程运行的小技巧
  14. Qt中焦点策略FocusPolicy的使用
  15. 51单片机自学好找工作吗,怎样学才能找到适合的工作
  16. Halcon常用图像预处理算子总结
  17. DFS和BFS算法框架
  18. 华南理工大学计算机学院创新班,高校纷推创新班揽生源 逐步淘汰冷门专业
  19. 计算机影视后期试题,(完整版)《影视后期制作》期末考试试题
  20. Ubuntu +NIVIDIA驱动 + CUDA + Cudnn 的详细安装指南(每一步都有说明)

热门文章

  1. redis stream持久化_带你彻底理解 Redis 持久化
  2. static_cast,reinterpret_cast,const_cast,dynamic_cast:
  3. MAC VSCode Go代码第一次运行配置
  4. SpringCloudRibbon
  5. 读博的经验对我读学位期间指导最大的文章
  6. linux系统Vsftpd搭建FTP
  7. Spark 学习(三) RDD基本介绍
  8. CodeForces992E 二分 + 树状数组(线段树)
  9. kafka和mqtt的区别和联系
  10. 记一次route配置不起作用的问题解决过程