hibernate與jdbc的區別(簡略)

2021-08-22 04:32:55 字數 855 閱讀 6414

今天看了看老師給的專案,其中的對資料的查詢跟我想象中的不一樣,所以就找了一些資料,大概清楚了這是個啥東西

就當做筆記吧

hibernate:物件導向的物件關係對映框架

hql:hibernate query language,hibernate查詢語言; 

sql:structured query language,結構化查詢語言;

hql:物件導向查詢;

sql:面向資料庫表查詢;

sql是對資料庫中的表進行查詢的,而hibernate是對物件進行查詢

hql: from 後面跟的 類名 + 類物件 where + 符合條件的物件的屬性; 

例如:

from user user where user age=20;

sql:from 後面跟的 表名 + where + 符合條件的字段; 

例如:

select  * from  testtable where age > 20;

在hibernate底層依然使用sql語句來執行資料庫操作,雖然所有關係型資料庫都支援使用標準sql語句,但所有資料庫都對標準sql進行了一些擴充套件,所以在語法細節上存在一些差異,因此hibernate需要根據資料庫來識別這些差異。假如系統需要資料庫的變換時,那麼用hibernate的話就只需要改一改配置檔案就可以了,而不用去修改我們寫的sql語句,省去很多不必要的人工,這也許就是所說的解耦吧

用到什麼資料庫,就在hibernate的配置檔案persistence.xml中加入需要的方言即可。 

配置方法如下:

hibernate與jdbc的比較

優點 一 物件導向 hibernate可以讓開發人員以物件導向的思想來運算元據庫。jdbc只能通過sql語句將元資料傳送給資料庫,進行資料操作。而hibernate可以在底層對元資料和物件進行轉化,使得開發者只用物件導向的方式來訪問資料即可。二 移植性 hibernate使用xml或jpa的配置以及...

Hibernate與Jdbc的效率測試

首先,建資料庫表,採用mysql資料庫。create table t jobstat id bigint 20 unsigned not null auto increment,jobno varchar 45 default null,clicksum int 10 unsigned defaul...

hibernate4使用原生jdbc進行批處理

在hibernate中,有一級快取session和二級快取sessionfactory這些機制,一方面為編碼提供了便利,同時也會有一些 比如有較大的資料量互動的話,快取反而會降低效率。最近在做乙個有關批量更新的程式,在呼叫session.update 之後,物件會儲存在快取中,如果資料量超過快取的容...