hibernate和mybatis區別
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。
-
第一次失戀的說說
一、我希望自己能寫這樣的詩。我希望自己也是一顆星星。二、不能自拔的,除了愛情,還有別人地裏的胡蘿蔔。三、我習慣了不該習慣的習慣,卻執着着不該執着的執着。四、離開我就別安慰我,要知道每一次縫補也會遭遇穿刺的痛。五、不是我太傷感不會憧憬幸福,只是不相信這...
-
那些讓人心酸的句子
1、你,有沒有一刻心疼過我的執着。2、堅強是淚水中的微笑,是愛和痛的花朵。3、有誰可以理解相愛卻不能在一起的痛苦。4、幸福可是是鏡花水月,愛情可是是徒有虛名。5、那些過去存在於我的記憶。終歸我是愛你的。6、堅強地面對一切,就能使自己的生命如流星般明亮。7...
-
大學畢業季的話
1、天,我們即將分別在兩個不一樣的學校!2、同桌,沒我在身邊嘮叨,會不會有些不習慣。3、最後一個夏天,沒有心情去海邊,只想靜靜躲在房間翻照片。4、請相信,那些偷偷溜走的時光,催老了我們的容顏,卻豐盈了我們的人生。5、我們在愛情中度過的時光長出了翅膀,當我們離別時,它...
-
豆芽的製作方法,豆芽的製作方法簡述
1、首先準備綠豆300克,把綠豆洗乾淨放在溫水裏浸泡1晚上,第二天早上你就會發現綠豆上生小芽了,雖然小芽很短,但是已經看到成就了,把泡綠豆的水倒掉就可以了。2、下面找一個漏筐,再找一個比漏筐大點的盆子(注:漏筐和盆子中間必須有空隙)再找2塊紗布,先將其中的一塊紗布鋪...
相關文章
- mybatis#和$的區別
- mybatis,#和$區別
- XP系統出現unable to find a,version of the rutime怎麼辦
- antimalware service executable佔內存高如何解決
- a problem has been detected(電腦藍屏)
- mybatis和hibernate的區別
- 怎麼解決Failed to load,the JNIshared library
- jpa和hibernate的區別
- the best playwright in england主要講了什麼
- steam destination folder,must be empty應該怎麼辦