資源描述:
《Hibernate原理與配置快速入門.pdf》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、Hibernate原理與配置快速入門Hibernate原理與配置快速入門作者:羅小虎來自:天極網(wǎng)Hibernate原理與配置快速入門在本文中,我向大家重點介紹Hibernate的核心API調(diào)用庫,并講解一下它的基本配置。也許你聽說過Hibernate的大名,但可能一直不了解它,也許你一直渴望使用它進行開發(fā),那么本文正是你所需要的!在本文中,我向大家重點介紹Hibernate的核心API調(diào)用庫,并講解一下它的基本配置??赐瓯疚暮?,我相信你對什么是ORM(對像/關(guān)系映射)以及它的優(yōu)點會有一個深刻的認(rèn)識,我們先通過一個
2、簡單的例子開始來展現(xiàn)它的威力。正如一些傳統(tǒng)的經(jīng)典計算機文章大都會通過一個“hello,world”的例子開始講解一樣,我們也不例外,我們也將從一個相對簡單的例子來闡述Hibernate的開發(fā)方法,但如果要真正闡述Hibernate的一些重要思想,僅僅靠在屏幕上打印一些字符是遠(yuǎn)遠(yuǎn)不夠的,在我們的示例程序中,我們將創(chuàng)建一些對象,并將其保存在數(shù)據(jù)庫中,然后對它們進行更新和查詢。閱讀導(dǎo)航“Helloworld”示例程序讓您對Hibernate有一個簡單的認(rèn)“HelloWorld”識理解Hibernate的架構(gòu)介紹Hibe
3、rnate接口的主要功能。Hibernate有5個核心接口,通過這幾個接口開發(fā)人員可核心接口以存儲和獲得持久對象,并且能夠進行事務(wù)控制Type是Hibernate發(fā)明者發(fā)明的一個術(shù)語,它在整個構(gòu)架一個重要的術(shù)語:Type中是一個非?;A(chǔ)、有著強大功能的元素,一個Type對象能將一個Java類型映射到數(shù)據(jù)庫中一個表的字段中去。Hibernate與某些其它開源軟件不同的還有一點――高度策略接口的可擴展性,這通過它的內(nèi)置策略機制來實現(xiàn)。Hibernate可以配置成可在任何Java環(huán)境中運行,一般說基礎(chǔ)配置來,它通常被用
4、在2-3層的C/S模式的項目中,并被部署在服務(wù)端。要創(chuàng)建一個SessionFactory對象,必須在Hibernate初始創(chuàng)建一個SessionFactory對化時創(chuàng)建一個Configuration類的實例,并將已寫好的映象射文件交由它處理。Hibernate原理與配置快速入門“HelloWorld”Hibernate應(yīng)用程序定義了一些持久類,并且定義了這些類與數(shù)據(jù)庫表格的映射關(guān)系。在我們這個“Helloworld”示例程序中包含了一個類和一個映射文件。讓我們看看這個簡單的持久類包含有一些什么?映射文件是怎樣定義
5、的?另外,我們該怎樣用Hibernate來操作這個持久類。我們這個簡單示例程序的目的是將一些持久類存儲在數(shù)據(jù)庫中,然后從數(shù)據(jù)庫取出來,并將其信息正文顯示給用戶。其中Message正是一個簡單的持久類:,它包含我們要顯示的信息,其源代碼如下:列表1Message.Java一個簡單的持久類packagehello;publicclassMessage{privateLongid;privateStringtext;privateMessagenextMessage;privateMessage(){}publicMe
6、ssage(Stringtext){this.text=text;}publicLonggetId(){returnid;}privatevoidsetId(Longid){this.id=id;}publicStringgetText(){returntext;}publicvoidsetText(Stringtext){this.text=text;}publicMessagegetNextMessage(){returnnextMessage;}publicvoidsetNextMessage(Messag
7、enextMessage){this.nextMessage=nextMessage;}}Hibernate原理與配置快速入門Message類有三個屬性:Message的id、消息正文、以及一個指向下一條消息的指針。其中id屬性讓我們的應(yīng)用程序能夠唯一的識別這條消息,通常它等同于數(shù)據(jù)庫中的主鍵,如果多個Message類的實例對象擁有相同的id,那它們代表數(shù)據(jù)庫某個表的同一個記錄。在這里我們選擇了長整型作為我們的id值,但這不是必需的。Hibernate允許我們使用任意的類型來作為對象的id值,在后面我們會對此作詳
8、細(xì)描述。你可能注意到Message類的代碼類似于JavaBean的代碼風(fēng)格,并且它有一個沒有參數(shù)的構(gòu)造函數(shù),在我們以后的代碼中我將繼續(xù)使用這種風(fēng)格來編寫持久類的代碼。Hibernate會自動管理Message類的實例,并通過內(nèi)部機制使其持久化,但實際上Message對象并沒有實現(xiàn)任何關(guān)于Hibernate的類或接口,因此我們也可以將它作為一個普通的Java類來使用:Mes