相同点:

(1)Hibernate与MyBatis都是通过SessionFactoryBuider由XML配置文件生成SessionFactory,由SessionFactory 生成Session,由Session来开启执行事务和SQL(Structured Query Language,结构化查询语言)语句。

(2)Hibernate和MyBatis都支持JDBC(Java DataBase Connectivity,java数据库连接)和JTA(Java Transaction API,Java事务API(Application Programming Interface,应用程序编程接口))事务处理。

注:jdbc和jta的主要作用是增强数据访问能力。

(3)基于ORM(Object Relational Mapping, 对象关系映射)思想解决了entity和数据库的映射问题

不同点:

(1)sql方面:mybaits通过mapper.xml维护映射结果,程序员手动编写sql相比hibernate自动生成hql(hibernate sql)更加灵活,sql调优更加容易(hibernate因为更好的封装性,开发效率提高的同时,sql语句调优要更费力,当然可以手动修改sql来优化,但是同时也会影响开发效率);hibernate的hql数据库移植性更好,体现在强壮性。hibernate在级联删除的时候效率低;数据量大, 表多的时候,基于关系操作会变得复杂。

(2)缓存方面:mybatis和hibernate都可以使用第三方缓存,而hibernate相比maybatis有更好的二级缓存机制。

还有一点被面试问到过,就是sql和hql形式上的区别。个人认为属于第一点区别:

sql: select 字段名...from table_name  where  字段名...   sql是直接对数据库表的操作

hql:select 属性名...from 实体类 where 属性 条件 ...group by 属性order by属性。hql是对与表有映射关系的实体类的操作,底层会再自动生成相应的sql。

转发原文链接:https://blog.csdn.net/tanjun592/article/details/53455820

mybatis与hibernate的对比相关推荐

  1. mybatis和hibernate的对比总结

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

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

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

  3. Mybatis与Hibernate的详细对比

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

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

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

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

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

  6. 面试之mybatis和hibernate的区别

    mybatis是支持普通SQL查询.存储过程和高级映射的优秀持久层框架.封装了 几乎所有的JDBC代码和参数的手工设置 ,以及结果集的检索: 封装了:1,获取连接,执行sql,释放连接. 2,sql的 ...

  7. MyBatis和ORM的区别以及Mybatis和Hibernate的区别

    ORM: 即Object Relation Mapping,即对象关联映射.所以ORM就是将Java中的对象和数据库中的表关联对应起来. 思考一下Mybatis,Mybatis相当于将mapper中的 ...

  8. 一文搞定7大流行后端框架:Spring、Netty、MyBatis、Hibernate、Dubbo...

    框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法:另一种定义认为,框架是可被应用开发者定制的应用骨架.前者是从应用方面而后者是从目的方面给出的定义. 可 ...

  9. 浅析 Mybatis 与 Hibernate 的区别与用途

    有很长一段时间对mybatis是比较陌生的,只知道与Hibernate一样是个orm数据库框架.随着使用熟练度的增加,发现它与Hibernate区别是非常大的,应当结合不同的情况分析选用.结合至今为止 ...

最新文章

  1. ESPNet系列:自动驾驶领域轻量级分割模型
  2. 王京春|大学生智能汽车竞赛感想
  3. 网络共享服务(三)之SAMBA
  4. (开源)Flask+Vue+Bootstrap3 人力资源用Web数据库
  5. Springboot2.x +JPA 集成 Apache ShardingSphere 分表+读写分离
  6. Linux服务器硬盘更换,[ Linux ] 服务器更换硬盘
  7. 新买的笔记本电脑怎么分盘_别再吐槽游戏本越玩越慢:笔记本电脑降速揭秘+散热维护小贴士...
  8. OSI七层模型设计思路
  9. 最新消息:苹果M1芯片为何如此之快?
  10. python tornade 表单和模板
  11. elcom协议_物联网@电力系统通信协议
  12. 计算机图像处理入门基础知识——色域,色度图,色彩空间和色彩管理
  13. Word页眉插入章标题(标题1)
  14. 二层交换机与三层交换机的区别
  15. 2023年全国最新会计专业技术资格精选真题及答案15
  16. FROM_GLC的介绍与数据下载教程
  17. 突发!蚂蚁集团CEO宣布辞职,阿里方面表示属实!
  18. 大数据技术之高频面试题
  19. 华大HC32L136--低功耗ADC功耗过高问题
  20. vue v-for循环改变循环数据视图不更新

热门文章

  1. Building wheel for TA-Lib (setup.py) ... error / ERROR: Failed building wheel for TA-Lib
  2. 土谷贞雄将携中日知名建筑师在深圳展示都市社群规划成功案例
  3. Synchronized-偏向锁
  4. 教育平台项目后台管理系统:课程内容模块
  5. 视觉高精度测量,影响精度的5大关键因素
  6. GPS定位与IP地址定位有何不同?
  7. oracle bloom过滤,布隆过滤(Bloom Filter)-必须了解的优化器算法
  8. 起底被阿里相中的汇通达:另类农村电商独角兽如何炼成
  9. 革文B2B行业洞察:中国气凝胶市场分析、竞争格局和发展趋势
  10. Databinding+LiveData轻松实现无重启换肤