請問下,jdbc和hibernate有什麼區別啊,二者都是持久層框架嗎,跟DAO又有什麼區別呢,請指點

2022-09-17 17:38:38 字數 2886 閱讀 4813

1樓:山高庸涵

1.首先jdbc不是永續性的,hibernate是的,hibernate實際上是對jdbc的永續性封裝,因為hibernate的底層也是有jdbc來實現的。

2.再者,hibernate的效率比jdbc的要高,因為在hibernate裡面存在一個快取(cahe)機制,一級快取和二級快取,當從資料庫中讀取資料的時候會儲存兩份,一份給使用者,一份自己留著,這樣,下次訪問的時候就不用去連線資料庫,直接從快取中讀取,效率大大提高。

3.jdbc連線資料庫是強制性的,每次都會去連線,只要輸入url之後就會連線,而hibernate是手動連線,手動提交的。

dao太簡單我就不說了,希望能幫到你。

2樓:匿名使用者

jdbc不是框架,是和db互動的方式,而hibernate是通過物件導向的方式和db進行互動,因為現在好多語言都是物件導向的,但是db卻不是,是關係型資料庫,那麼兩者怎麼結合列,這時候hibernate就出現了,jdbc可以直接寫sql語句,雖說hibernate裡面也可以但是沒jdbc好用,jdbc可以做sql批處理,hibernate就不行

3樓:天津資訊小帆船

hibernate封裝了jdbc,增刪改查拿來就能用,連線資料庫也是在配置檔案裡配置的。所有依賴關係,多對一,一對多,多對多都可以在配置檔案裡進行配置。但是說到底,它在編譯的時候還是會轉成jdbc,因為jvm就認jdbc。

框架框架,就是把比較複雜的**封裝起來,你好呼叫。

4樓:

hibernate是jdbc的輕量級封裝,用hibernate代替jdbc主要是有幾點原因:1、hibernate可以避免拼sql語句的繁瑣。2、hibernate是物件導向的,非常好的實現了orm。

3、hibernate可以跨資料庫。dao只是提供外部運算元據庫的介面。

5樓:匿名使用者

jdbc必須自己手寫**連線資料庫和對資料庫的操作

hibernate可以自動連線資料庫,並且提供了hibernatedaosupport方法,可以進行資料操作

6樓:匿名使用者

orm是一種思想,就是把object轉變成資料庫的中記錄,或者把資料庫中的記錄轉變成object,我們用jdbc來實現這種思想,其實,如果我們的專案是嚴格按照oop方式編寫的話,我們程式不管是有意還是無意,就已經實現了orm的工作了。

現在在有許多orm工具,他們的底層呼叫jdbc來實現了orm工作,我們直接使用這些工具,就省去了直接使用jdbc的繁瑣細節,提高了開發效率,現在用的較多的orm工具是hibernate,也聽說一些orm工具,如toplink,obj等

簡述hibernate 和 jdbc 的區別,優缺點

hibernate與jdbc哪個好?各自的優點和缺點

7樓:嗡嗡大佬

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看具體情況。

8樓:匿名使用者

其實他們都是基於介面來設計的,屬單例,只不過hibernate比較傾向於我們所用的物件導向程式設計的思想

hibernate連線與jdbc連線的區別

9樓:安徽新華電腦專修學院

jdbc與hibernate在效能上相比,jdbc靈活性有優勢。而hibernate在易學性,易用性上有些優勢。當用到很多複雜的多表聯查和複雜的資料庫操作時,jdbc有優勢;

10樓:

一樓的說得非常好.分析得很透徹..頂一下先..

j**a的dao層指的是哪一層? 持久層又指的是哪一層(hibernate)?

11樓:匿名使用者

dao層就是持久層,就是運算元據庫的部分。

請問下喜歡和愛的區別,請問下mysql和oracle的區別

喜歡是一類人,愛是一個人。男人的喜歡和愛有什麼區別呢?回答喜歡一個人,會控制不住自己的表現欲,而愛一個人,則會默默地陪在他身邊,為他歡喜,為他憂愁。當你看到一個人覺得心動不已,沒有辦法呼吸,那就是喜歡。這種喜歡,倘若沒有隨著時間的流逝而消失,那就是愛。面對心愛的人,你的心跳會加速,然而面對喜歡的人,...

hibernate和jdbc有什麼區別?(面試題)

各有各的好處,其實hibernate就是對jdbc的封裝,jdbc效率高,但操作麻煩,hibernate操作方便,但是效率比jdbc低。其實面試題的話沒必要記住那麼多的條條框框的,如果你不知道這個問題的話應該是個新手吧,主要讓面試你的人知道你會用就行,面試不是學校的考試,有時候卡卡列幾條出來不見得好...

請問下這個叫什麼?和馬齒莧很像,請問下這個叫什麼?和馬齒莧很像!

好像是垂盆草,垂盆草有利溼退黃,清熱解毒之功效,用於溼熱黃疸,小便不利,癰腫瘡瘍。是野生的應該是芋蒿吧 為什麼這麼急著知道呢,是有什麼用處嗎,我可以在幫你查一查 長得很像馬齒莧的植物 叫什麼 地錦草 別稱 血見愁 奶汁草 紅蓮草 鐵線馬齒莧 小紅筋草,蓮子草 血經基一年生匍匐草本。莖纖細,近基部二歧...