网站首页
手机版

hibernate和mybatis区别(mybatis和hibernate的区别)

更新时间:2022-05-19 20:43:01作者:未知

hibernate和mybatis区别(mybatis和hibernate的区别)

hibernate和mybatis区别如下:


1、hibernate是全自动,而mybatis是半自动。

  

  hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成sql。而mybatis仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写sql来实现和管理。

  

  2、hibernate数据库移植性远大于mybatis。

  

  hibernate通过它强大的映射结构和hql语言,大大降低了对象与数据库(oracle、mysql等)的耦合性,而mybatis由于需要手写sql,因此与数据库的耦合性直接取决于程序员写sql的方法,如果sql不具通用性而用了很多某数据库特性的sql语句的话,移植性也会随之降低很多,成本很高。

  

  3、hibernate拥有完整的日志系统,mybatis则欠缺一些。

  

  hibernate日志系统非常健全,涉及广泛,包括:sql记录、关系异常、优化警告、缓存提示、脏数据警告等;而mybatis则除了基本记录功能外,功能薄弱很多。

  

  4、mybatis相比hibernate需要关心很多细节。

  

  hibernate配置要比mybatis复杂的多,学习成本也比mybatis高。但也正因为mybatis使用简单,才导致它要比hibernate关心很多技术细节。mybatis由于不用考虑很多细节,开发模式上与传统jdbc区别很小,因此很容易上手并开发项目,但忽略细节会导致项目前期bug较多,因而开发出相对稳定的软件很慢,而开发出软件却很快。hibernate则正好与之相反。但是如果使用hibernate很熟练的话,实际上开发效率丝毫不差于甚至超越mybatis。

  

  5、sql直接优化上,mybatis要比hibernate方便很多。

  

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

  

  

本文标签: 区别  标签  简介  mybatis  

为您推荐

女人心态阳光的句子 女人心态阳光的句子八个字

1、世界上的事情最忌讳的就是个十全十美,你看那天上的月亮,一旦圆满了,马上就要亏厌,树上的果子,一旦熟透了,马上就要坠落,凡事总要稍留欠缺,才能持恒。2、你可以一辈子不登山,但你心中一定要有座山。它使你总往高处爬,它使你

2023-04-12 17:28

家里放一物绝对没老鼠 家里放一物绝对没老鼠不信你试试

家里放一物绝对没老鼠:1、风油精风油精,这是生活中比较常见的了,将棉花放在风油精里面泡几分钟,然后将这个棉花放在老鼠经常出没的地方。也可以把风油精和水混合在一起,倒入喷壶里面,喷洒在屋子的各个角落。风油精的味道老鼠可不大

2023-04-12 17:28

濡沫江湖峨眉猴儿酒攻略 濡沫江湖 峨眉猴儿酒

1、当玩家领取峨眉支线任务倚天剑时,在NPC百晓生这里打听消息时,此时百晓生会要求玩家赠予他猴儿酒,此时需要点击【同意】,这样就领取任务了。2、在前往峨眉采集猴子酒之前需要玩家先获得两件道具,第一件道具是糖炒栗子,这个玩

2023-04-12 17:28

电脑版QQ如何重置密码(QQ怎么重置修改密码)

QQ出现被盗用或者忘记密码的情况下,就可以直接通过密码重置来获得一个新的密码,那具体该怎么操作呢?我们在输入要重置密码的QQ后,点击QQ

2023-04-12 17:28

如何使用微信提取住房公积金 微信提取公积金

早些时候,我们需要去银行柜台或者住建局来办理提取公积金业务,麻烦而且还要排队。其实我们通过微信的城市服务就可以办理提取住房公积

2023-04-12 17:25

梦到亲人去世是什么意思

1、梦见亲人去世仇敌会归顺自己。2、梦见亲人去世预示要拜堂成亲。这对于男女恋人来说是吉利的梦。3、未婚者梦见亲人去世预示着在爱情方面:恋情融洽,双方都较为宽容,也因此获得更多了解对方的机会。长久相处的异性朋友,可能让产生

2023-04-12 17:24