mybatis与hibernate的对比
相同点:
(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的对比相关推荐
- mybatis和hibernate的对比总结
mybatis和hibernate 第一步, 首先让我们对mybatis和hibernate对比了解下 1. Hibernate :Hibernate 是当前非常流行的ORM框架,对数据库结构提供了较 ...
- hibernate oracle查询最大值_Java大数据:Mybatis和Hibernate对比分析
在Java企业级平台开发任务当中,持久层框架的选择,Mybatis和Hibernate都占据一定的市场.从大趋势来说,传统企业偏爱Hibernate,而互联网更偏爱Mybatis.今天的大数据基础分享 ...
- Mybatis与Hibernate的详细对比
转载自 Mybatis与Hibernate的详细对比 前言 这篇博文我们重点分析一下Mybatis与Hibernate的区别,当然在前面的博文中我们已经深入的研究了Mybatis和Hibernate ...
- 【持久化框架】Mybatis与Hibernate的详细对比
前言 这篇博文我们重点分析一下Mybatis与Hibernate的区别,当然在前面的博文中我们已经深入的研究了Mybatis和Hibernate的原理. Mybatis [持久化框架]Mybatis简 ...
- MyBatis 与 Hibernate 到底哪个更快?
前言 由于编程思想与数据库的设计模式不同,生出了一些ORM框架. 核心都是将关系型数据库和数据转成对象型.当前流行的方案有Hibernate与myBatis. 两者各有优劣.竞争激烈,其中一个比较重要 ...
- 面试之mybatis和hibernate的区别
mybatis是支持普通SQL查询.存储过程和高级映射的优秀持久层框架.封装了 几乎所有的JDBC代码和参数的手工设置 ,以及结果集的检索: 封装了:1,获取连接,执行sql,释放连接. 2,sql的 ...
- MyBatis和ORM的区别以及Mybatis和Hibernate的区别
ORM: 即Object Relation Mapping,即对象关联映射.所以ORM就是将Java中的对象和数据库中的表关联对应起来. 思考一下Mybatis,Mybatis相当于将mapper中的 ...
- 一文搞定7大流行后端框架:Spring、Netty、MyBatis、Hibernate、Dubbo...
框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法:另一种定义认为,框架是可被应用开发者定制的应用骨架.前者是从应用方面而后者是从目的方面给出的定义. 可 ...
- 浅析 Mybatis 与 Hibernate 的区别与用途
有很长一段时间对mybatis是比较陌生的,只知道与Hibernate一样是个orm数据库框架.随着使用熟练度的增加,发现它与Hibernate区别是非常大的,应当结合不同的情况分析选用.结合至今为止 ...
最新文章
- ESPNet系列:自动驾驶领域轻量级分割模型
- 王京春|大学生智能汽车竞赛感想
- 网络共享服务(三)之SAMBA
- (开源)Flask+Vue+Bootstrap3 人力资源用Web数据库
- Springboot2.x +JPA 集成 Apache ShardingSphere 分表+读写分离
- Linux服务器硬盘更换,[ Linux ] 服务器更换硬盘
- 新买的笔记本电脑怎么分盘_别再吐槽游戏本越玩越慢:笔记本电脑降速揭秘+散热维护小贴士...
- OSI七层模型设计思路
- 最新消息:苹果M1芯片为何如此之快?
- python tornade 表单和模板
- elcom协议_物联网@电力系统通信协议
- 计算机图像处理入门基础知识——色域,色度图,色彩空间和色彩管理
- Word页眉插入章标题(标题1)
- 二层交换机与三层交换机的区别
- 2023年全国最新会计专业技术资格精选真题及答案15
- FROM_GLC的介绍与数据下载教程
- 突发!蚂蚁集团CEO宣布辞职,阿里方面表示属实!
- 大数据技术之高频面试题
- 华大HC32L136--低功耗ADC功耗过高问题
- vue v-for循环改变循环数据视图不更新
热门文章
- Building wheel for TA-Lib (setup.py) ... error / ERROR: Failed building wheel for TA-Lib
- 土谷贞雄将携中日知名建筑师在深圳展示都市社群规划成功案例
- Synchronized-偏向锁
- 教育平台项目后台管理系统:课程内容模块
- 视觉高精度测量,影响精度的5大关键因素
- GPS定位与IP地址定位有何不同?
- oracle bloom过滤,布隆过滤(Bloom Filter)-必须了解的优化器算法
- 起底被阿里相中的汇通达:另类农村电商独角兽如何炼成
- 革文B2B行业洞察:中国气凝胶市场分析、竞争格局和发展趋势
- Databinding+LiveData轻松实现无重启换肤