当前位置: 代码迷 >> J2EE >> 一个系统里边怎样选择mybits和hibernate
  详细解决方案

一个系统里边怎样选择mybits和hibernate

热度:451   发布时间:2016-04-17 23:50:11.0
一个系统里面怎样选择mybits和hibernate?
现在要你做一个系统,你选择mybits与hibernate的原因是什么呢?在什么样的情况下你会选择mybits,在什么样的情况下又选择hibernate?
不要说我没有说是什么样的一个系统,我就是在问你选择其中一个的理由是什么,是什么系统并不重要。
------解决方案--------------------
引用:
没有啦,很有帮助的,为什么复杂SQL多反而要用mybits呢,是因为hibernate复杂SQL执行效率比较慢么?另外,在移植方面,mybits比起hibernate来说,是不是不方便的地方就是不部分sql需要重新写而hibernate只是切换配置文件而已。请大神赐教,别嫌我烦哈,先谢过啦!!虽然我分比较少。。。。

太过复杂的sql连接,用hibernate配置太过麻烦,再就是性能问题了。
经常涉及三四张表或更多的表查询时,自己写sql感觉比使用hibernate的配置文件要方便些。
自己写sql,也方便测试,可以直接拿sql出来到客户端执行。用hibernate的话,就要跟着配置文件一点点的找了。
移植方面,是hibernate的优势,mybatis没有任何优势了。
之前完成的一个项目,开发时用的是oracle数据库,现场是DB2,然后开发完成后就切数据库,用的是mybatis
然后 就找DB2的专家,一个一个的翻译sql,关键一些oracle的语法DB2是没有的,不支持的
然后就写一大堆的语句,为的就是完成一个简单的oracle的语法功能
而且 翻译过程中,一些sql翻译错误,也都是移植的风险点
hibernate的话,直接通过方言就搞定了数据库间的差异了。

------解决方案--------------------
mybatis的sql语句是需要单独自己去写的,hibernate的则是封装好的。所有mybatis的灵活性一级执行效率要比hibernate高一些。但是如果你的系统需要数据库移植的话,mybatis就比较麻烦,因为它的sql语句不同的数据库需要重新修改。
------解决方案--------------------
引用:
Quote: 引用:

我说下hibernate吧,如果数据量大,对程序性能要求较高,就不要用hibernate了!!!
ORM相对消耗资源很大的!!!!


对性能方面没有特别的要求,数据级别也不是很大,可能数据表之间的关系会比较复杂一点

表关系复杂无非是多表之间的连接,如果表中的数据量不大,性能要求不过分,hibernate对程序猿来说更爽些,不过在某些大量数据上可以结合servlet让hibernate提高性能;
我有个同学现在做飞信项目,他们对性能要求高点,用的是servlet和mybatis;
  相关解决方案