首页 新闻 会员 周边

hibernate和mybatis

0
[已解决问题] 解决于 2016-02-25 10:22

  本人是个菜鸟程序员,现在大学还没毕业。

  最近一直在想一个问题,到底是hibernate好还是mybatis好。我总觉得hibernate好用之极,在大学里做过的小项目都是用的hibernate,只要表与表联系设置好了,代码非常简单啊,轻轻松松取数据存数据。最近在碰mybatis,感觉mybatis并没有hibernate那么方便,每一句sql语句要自己写,但可以自定义复杂的sql语句,每写一个功能可能比使用hibernate写花的时间多好多。

  我唯一能想到的mybatis的好处是查询效率可能比较高,但确实不方便啊,关联对象全部需要手动拿到。

  这只是我很菜的理解,现在很多公司都放弃使用hibernate,大多数我去面试实习的公司企业都说是用mybatis。我想知道。mybatis除了性能比hibernate好,其他有什么好处呢?为什么现在都喜欢用mybatis?hibernate这么好用为什么不用,仅仅是因为查询效率低吗?

上街、找金莎的主页 上街、找金莎 | 初学一级 | 园豆:48
提问于:2015-07-15 09:08
< >
分享
最佳答案
0

hibernate在大数据量复杂查询中的数据查询优化非常难做,因为一般使用hibernate的都不是用原生sql

hibernate在快速建模以及中小型快速响应的应用中比较好用

 

mybatis配置开发相对复杂,但是带来的好处是更加灵活,sql优化方便。如果公司有专门的dba,还可以将sql拿给dba去优化。

 

楼上说是因为懒,可以让dba写sql,是扯淡,dba只会帮你优化慢查询sql,所有的业务sql原型还是要自己写。

奖励园豆:5
叶一知秋 | 菜鸟二级 |园豆:283 | 2015-07-15 13:44

受教

上街、找金莎 | 园豆:48 (初学一级) | 2015-07-15 15:44
其他回答(3)
0

随便,看你心情,想用哪个用哪个,我所知道的,喜欢用mybatis的原因是程序员不愿意管数据库优化.

mybatis可以让dba帮你写sql,其实就是懒,

吴瑞祥 | 园豆:29449 (高人七级) | 2015-07-15 09:25

hibernate是会自动生成SQL,但是那个SQL不是最优的。mybitis可以使用自定义SQL。让DBA写这个并不是说懒,这样可以让SQL是最优的。另外,也不是所有程序员都等着DBA的SQL。

支持(2) 反对(0) ㄓㄤㄑㄧㄤ | 园豆:251 (菜鸟二级) | 2015-07-16 09:05
1

mybatis 和hibernate可以结合使用,对于基本操作可以使用hibernate,但是涉及到复杂的数据库应用mybatis还是不错的。

12262540_zy | 园豆:202 (菜鸟二级) | 2015-07-15 10:56

结合使用是什么意思?搭框架的时候可以既使用hibernate和mybatis?还是说是在两个项目里,简单数据使用hibernate,复杂数据放另外一个项目? 

支持(0) 反对(0) 上街、找金莎 | 园豆:48 (初学一级) | 2015-07-15 12:05

有道理,hibernate和mybatis可以结合使用

支持(0) 反对(0) 无心流泪 | 园豆:202 (菜鸟二级) | 2015-08-19 13:32

@上街、找金莎: 呵呵,在实际项目里面,我们要么用mybatis(小型项目)、要不用hibernate+纯SQL,很少见项目混合用的,不统一起来 会整个都乱了的

支持(0) 反对(0) Nadim | 园豆:282 (菜鸟二级) | 2015-09-11 17:35

@Nadim: 在开发的时候指定规范

支持(0) 反对(0) 12262540_zy | 园豆:202 (菜鸟二级) | 2016-02-17 09:40
0

假如一张表几百个字段,做更新或者新增,你会用mybatis还是hibernate????当然hibernate,mybatis虽然速度快,但是并不是真正意义上的orm框架

npe0 | 园豆:1299 (小虾三级) | 2016-02-25 09:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册