Java知識(shí)點(diǎn)總結(jié)框架篇16-20

十六、Hibernate與JDBC的區(qū)別

1、hibernate和jdbc主要區(qū)別就是,hibernate先檢索緩存中的映射對(duì)象( 即hibernate操作的是對(duì)象),而jdbc則是直接操作數(shù)據(jù)庫(kù).

2、Hibernate是JDBC的輕量級(jí)的對(duì)象封裝,它是一個(gè)獨(dú)立的對(duì)象持久層框架。Hibernate可以用在任何JDBC可以使用的場(chǎng)合

3、Hibernate是一個(gè)和JDBC密切關(guān)聯(lián)的框架,所以Hibernate的兼容性和JDBC驅(qū)動(dòng),和數(shù)據(jù)庫(kù)都有一定的關(guān)系,但是和使用它的Java程序,和App Server沒(méi)有任何關(guān)系,也不存在兼容性問(wèn)題。

4、如果正確的使用JDBC技術(shù),它的執(zhí)行效率一定比hibernate要好,因?yàn)閔ibernate是基于jdbc的技術(shù).

5、JDBC使用的是SQL語(yǔ)句,Hibernate使用的是HQL語(yǔ)句,但是HQL語(yǔ)句最終還會(huì)隱式轉(zhuǎn)換成SQL語(yǔ)句執(zhí)行。

十七、、Hibernate中的兩大配置文件

*.hbm.xml:主鍵生成策略,映射關(guān)系,一對(duì)多,一對(duì)一的關(guān)系。

十八、Hibernate事務(wù)處理

開(kāi)啟事務(wù) session.beginTransaction();

執(zhí)行相關(guān)的操作,如果成功則session.getTransaction().commit();

執(zhí)行操作失敗則 session.getTransaction.rollback();

十九、Hibernate的三種狀態(tài)以及狀態(tài)的轉(zhuǎn)換

Transient(臨時(shí))

new 一個(gè)初始化對(duì)象后,并沒(méi)有在數(shù)據(jù)庫(kù)里保存數(shù)據(jù),處于臨時(shí)狀態(tài);

Persistent(持久化)

當(dāng)執(zhí)行save()方法,調(diào)用session.close()方法之前,內(nèi)存中的對(duì)象與數(shù)據(jù)庫(kù)有 對(duì)應(yīng)關(guān)系處于持久化狀態(tài);

Detached(托管/游離)

當(dāng)執(zhí)行session.close()之后,處于托管狀態(tài);

狀態(tài)的轉(zhuǎn)換

處于托管狀態(tài)下,調(diào)用update()方法后,轉(zhuǎn)換為持久化狀態(tài);

在持久化狀態(tài)下,執(zhí)行delete()方法后,轉(zhuǎn)換為臨時(shí)狀態(tài);

在未初始化對(duì)象之前,調(diào)用get(),load(),find(),iterate()之后,直接進(jìn)入持久化 狀態(tài)。

二十、分頁(yè)步驟

前臺(tái)封裝一個(gè)顯示分頁(yè)的組件

查詢(xún)總條數(shù)

后臺(tái)封裝分頁(yè)工具類(lèi),計(jì)算開(kāi)始位置、結(jié)束位置、總頁(yè)數(shù)

后臺(tái)寫(xiě)支持分頁(yè)的sql語(yǔ)句

前臺(tái)包含分頁(yè)組件,實(shí)現(xiàn)分頁(yè)效果

注意:

查詢(xún)總條數(shù)的where和查詢(xún)列表信息的where條件要保證一致。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類(lèi)相關(guān)的語(yǔ)法,內(nèi)部類(lèi)的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線(xiàn)程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,652評(píng)論 18 399
  • 這部分主要是開(kāi)源Java EE框架方面的內(nèi)容,包括Hibernate、MyBatis、Spring、Spring ...
    雜貨鋪老板閱讀 1,558評(píng)論 0 2
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 4,011評(píng)論 0 11
  • Hibernate: 一個(gè)持久化框架 一個(gè)ORM框架 加載:根據(jù)特定的OID,把一個(gè)對(duì)象從數(shù)據(jù)庫(kù)加載到內(nèi)存中OID...
    JHMichael閱讀 2,093評(píng)論 0 27
  • 首先了解為什么要使用git? Git是管理代碼的工具,寫(xiě)代碼不是減輕松的事兒,一個(gè)人寫(xiě)代碼的時(shí)候已經(jīng)不輕松了,一群...
    痛心涼閱讀 293評(píng)論 0 0

友情鏈接更多精彩內(nèi)容