日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hibernate day01

發(fā)布時間:2025/3/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hibernate day01 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

什么是 Hibernate?

一個框架 一個 Java 領(lǐng)域的持久化框架 一個 ORM 框架;

對象的持久化理解:

?

狹義的理解,“持久化”僅僅指把對象永久保存到數(shù)據(jù)庫中

廣義的理解,“持久化”包括和數(shù)據(jù)庫相關(guān)的各種操作:

保存:把對象永久保存到數(shù)據(jù)庫中。

更新:更新數(shù)據(jù)庫中對象(記錄)的狀態(tài)。

刪除:從數(shù)據(jù)庫中刪除一個對象。

查詢:根據(jù)特定的查詢條件,把符合查詢條件的一個或多個對象從數(shù)據(jù)庫加載到內(nèi)存中。

加載:根據(jù)特定的OID,把一個對象從數(shù)據(jù)庫加載到內(nèi)存中。

OID:---

為了在系統(tǒng)中能夠找到所需對象,需要為每一個對象分配一個唯一的標(biāo)識號。在關(guān)系數(shù)據(jù)庫中稱之為主鍵,而在對象術(shù)語中,則叫做對象標(biāo)識(Object identifier-OID).

ORM:

?

ORM(Object/Relation Mapping): 對象/關(guān)系映射

ORM 主要解決對象-關(guān)系的映射

-ORM的思想:將關(guān)系數(shù)據(jù)庫中表中的記錄映射成為對象,以對象的形式展現(xiàn),程序員可以把對數(shù)據(jù)庫的操作轉(zhuǎn)化為對對象的操作。

-ORM 采用元數(shù)據(jù)來描述對象-關(guān)系映射細(xì)節(jié), 元數(shù)據(jù)通常采用 XML 格式, 并且存放在專門的對象-關(guān)系映射文件中.

?

ORM

?

流行的ORM框架

?

--Hibernate: 非常優(yōu)秀、成熟的 ORM 框架。

--完成對象的持久化操作 Hibernate 允許開發(fā)者采用面向?qū)ο蟮?/span>方式來操作關(guān)系數(shù)據(jù)庫。

--消除那些針對特定數(shù)據(jù)庫廠商的 SQL 代碼

myBatis:

相比 Hibernate 靈活高,運行速度快 開發(fā)速度慢,

不支持純粹的面向?qū)ο蟛僮?#xff0c;需熟悉sql語 句,并且熟練使用sql語句優(yōu)化功能 TopLink OJB

?

Hibernate 與 Jdbc 代碼對比

1、下圖session sess由Hibernate 實現(xiàn)

2、connection ?save 由JDBC 實現(xiàn)

?

?

?

1、安裝 hibernate 插件

?

安裝方法說明(hibernatetools-4.1.1.Final): Help --> Install New Software... Click Add... In dialog Add Site dialog, click Archive... Navigate to hibernatetools-Update-4.1.1.Final_2013-12-08_01-06-33-B605.zip and click Open Clicking OK in the Add Site dialog will bring you back to the dialog 'Install' Select the Jboss Tools hibernatetools Nightly Build Update Site that has appeared Click Next and then Finish Approve the license Restart eclipse when that is asked

?

2、準(zhǔn)備 Hibernate 環(huán)境

導(dǎo)入 Hibernate 必須的 jar 包:

加入數(shù)據(jù)庫驅(qū)動的 jar 包:

?

?

3、Hibernate開發(fā)步驟

?

?

?1. 創(chuàng)建持久化 Java 類

?

--提供一個無參的構(gòu)造器:使Hibernate可以使用Constructor.newInstance() 來實例化持久化類

--提供一個標(biāo)識屬性(identifier property): 通常映射為數(shù)據(jù)庫表的主鍵字段. 如果沒有該屬性,一些功能將不起作用,如:Session.saveOrUpdate()

--為類的持久化類字段聲明訪問方法(get/set): Hibernate對JavaBeans 風(fēng)格的屬性實行持久化。

--使用非 final 類: 在運行時生成代理是 Hibernate 的一個重要的功能. 如果持久化類沒有實現(xiàn)任何接口, Hibnernate 使用 CGLIB 生成代理.

--如果使用的是 final 類, 則無法生成 CGLIB 代理. 重寫 eqauls 和 hashCode 方法: 如果需要把持久化類的實例放到 Set 中(當(dāng)需要進(jìn)行關(guān)聯(lián)映射時), 則應(yīng)該重寫這兩個方法

注意1. 創(chuàng)建持久化 Java 類

Hibernate 不要求持久化類繼承任何父類或?qū)崿F(xiàn)接口,這可以保證代碼不被污染。這就是Hibernate被稱為低侵入式設(shè)計的原因

?

2. 創(chuàng)建對象-關(guān)系映射文件

?

Hibernate 采用 XML 格式的文件來指定對象和關(guān)系數(shù)據(jù)之間的映射. 在運行時 Hibernate 將根據(jù)這個映射文件來生成各種 SQL 語句 映射文件的擴(kuò)展名為 .hbm.xml

?

?

?3. 創(chuàng)建 Hibernate 配置文件

?

Hibernate 從其配置文件中讀取和數(shù)據(jù)庫連接的有關(guān)信息, 這個文件應(yīng)該位于應(yīng)用的 classpath 下.

下邊是控制臺輸出的 SQL 語句

? Helloworld

?

使用 Hibernate 進(jìn)行數(shù)據(jù)持久化操作,通常有如下步驟:

編寫持久化類: POJO + 映射文件 獲取 Configuration 對象 獲取 SessionFactory 對象 獲取 Session,打

開事務(wù) 用面向?qū)ο蟮姆绞讲僮鲾?shù)據(jù)庫 關(guān)閉事務(wù),關(guān)閉 Session

?

總結(jié)

以上是生活随笔為你收集整理的Hibernate day01的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。