1樓:暗流
要把這兩東西比較?? 根本不是同一等級的東西怎麼比較啊
2樓:匿名使用者
hibernate:優:物件導向的思維,一些簡單查詢不需要sql語句。比較方便。使用者不必瞭解sql語句。
缺:面對一些複雜查詢的時候不是很靈活,比如要查詢多個表的資料作為結果集,用hibernate就要設定這些表的實體物件關聯關係。(雖然hibernate也可以執行sql,但是感覺效率不高)
jdbc:原生sql。需要了解sql語言。
優:使用靈活缺:jdbc需要大量的重複性勞動,比如單表查詢,發出sql,根據結果集封裝成物件。
這種東西往往是類似的。 而hibernate只要一行**就可以搞掂。
---------純手打,望採納
hibernate與jdbc哪個好?各自的優點和缺點
3樓:嗡嗡大佬
hibernate與jdbc相比較的主要優點是:
一、物件導向:hibernate可以讓開發人員以物件導向的思想來運算元據庫。jdbc只能通過sql語句將後設資料傳送給資料庫,進行資料操作。
而hibernate可以在底層對後設資料和物件進行轉化,使得開發者只用物件導向的方式來存取資料即可。
二、移植性:hibernate使用xml或jpa的配置以及資料庫方言等等的機制,使得hibernate具有更好的移植性,對於不同的資料庫,開發者只需要使用相同的資料操作即可,無需關心資料庫之間的差異。而直接使用jdbc就不得不考慮資料庫差異的問題。
三、封裝性:hibernate提供了大量的封裝(這也是它最大的缺點),很多資料操作以及關聯關係等都被封裝的很好,開發者不需寫大量的sql語句,這就極大的提高了開發者的開發效率。
四、快取機制:hibernate提供了快取機制(session快取,二級快取,查詢快取),對於那些改動不大且經常使用的資料,可以將它們放到快取中,不必在每次使用時都去查詢資料庫,快取機制對提升效能大有裨益。
缺點:一、對hibernate而言,它對jdbc封裝過於厲害,所以就失去了對sql的控制(當然hibernate也可以使用native sql既使用createsqlquery等方法來呼叫與資料庫相關的sql,但這樣一來也就影響了hibernate的可移植性),使得hibernate的在很多地方不夠靈活,難於優化,尤其對於一些複雜的關聯查詢時,hibernate提供的功能遠不及直接使用jdbc方便效能更高。
二、hibernate沒有提供專門的批處理機制,如果要批量更新或插入資料時,還需要顯示的flush,clear之類的操作,效能不如jdbc。
三、相對於jdbc,hibernate更消耗記憶體,因為它每次的資料庫操作都要做資料和物件的轉換/封裝,查詢出一條資料就要建立一個或多個物件,這樣也太消耗記憶體了。
一般專案都會用到hibernate,不過初學者對於jdbc也要有一些瞭解這樣方便了解hibernate的機制,實際專案中hibernate用的比較多,有時也會用到jdbc看具體情況。
4樓:匿名使用者
其實他們都是基於介面來設計的,屬單例,只不過hibernate比較傾向於我們所用的物件導向程式設計的思想
哪位大神能簡單說說你對hibernate理解(主要結合mybatis,jdbc說,重點說說他們三個的優缺點) 5
5樓:匿名使用者
jdbc缺點:程式設計
**繁bai瑣dusession的獲取關閉,異常zhi的捕獲一大堆**要寫,dao**移植性差版,沒有提供數權據快取,面向sql語句操作而不是物件導向的操作
jdbc有點:效率比框架高
hibernate優點:**簡單,物件導向操作移植性好,提供很好的快取。缺點:無法干預sql語句的生成,如果對sql語句優化較高就不適合,hibernate只適合中小型專案開發
hibernate的hql語句和sql語句一樣嗎
一樣.都是資料庫操作語句.只是有區別.sql語句貌似裸奔.hql整裝.sql可比作用dos操作的老版windows系統.hql.windows xp 不一樣,hql封裝過了,可以跨資料庫的!不一樣 有點差距 不過也差不多 hql是經過hibernate處理過的 不一樣。hql是面向表的對映類的sql...
hibernate一對多和多對一的區別
一對多關係 一對多關係 分為 單向一對多 多對一關係 和 雙向多 對一 關係內。單向一對容多 多對一關係 只需在 一 多 方進行配置,雙向多對一關係 需要在關聯雙方均加以配置。雙向多對一關聯就是在多方和一方都進行配置,並在 一 方通過屬性inverse true 設定控制關係反轉 注 單向多對一關聯...
簡述定積分的概念,特點和功能,簡述社會的概念,特徵和功能
定積分bai是積分的一種,是函式 duf x 在區間 a,b 上的積分和的極zhi限。這裡應注意dao定積分內與不定積分之間的關係 若容定積分存在,則它是一個具體的數值 曲邊梯形的面積 而不定積分是一個函式表示式,它們僅僅在數學上有一個計算關係 牛頓 萊布尼茨公式 其它一點關係都沒有 一個函式,可以...