




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第10章 Hibernate入門(mén)Hibernate作為優(yōu)秀的OR mapping框架除了其功能強(qiáng)大之外,其簡(jiǎn)單易用性也是它流行起來(lái)的一大原因。Hibernate的運(yùn)行不需要其他框架或者服務(wù)器支持,而且絕大多數(shù)配置提供了缺省配置,使初學(xué)者的上手十分容易。本章作為入門(mén)章節(jié)將介紹如何下載和安裝Hibernate,并介紹Hibernate包內(nèi)都包含哪些文件,各自有什么作用。并介紹一種應(yīng)用廣泛的數(shù)據(jù)庫(kù)MySQL。10.1 安裝MySQL數(shù)據(jù)庫(kù)MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQL AB公司。其體積小、速度快而且它是免費(fèi)并且開(kāi)源的。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來(lái)說(shuō),MySQL
2、提供的功能和性能已經(jīng)綽綽有余,尤其適合初學(xué)者學(xué)習(xí)使用。本書(shū)與數(shù)據(jù)庫(kù)相關(guān)的實(shí)例都是基于MySQL數(shù)據(jù)庫(kù)的。10.1.1 下載HibernateMySQL的下載地址: 目前發(fā)布的最新版本為MySQL6.0,選擇windows平臺(tái),最簡(jiǎn)單的安裝方式Setup.exe下載。下載頁(yè)面如圖所示。10.1.2 安裝MySQLMySQL的安裝十分簡(jiǎn)單,下載解壓之后是一個(gè)獨(dú)立的setup.exe文件,直接運(yùn)行安裝。與一般的軟件安裝有點(diǎn)不同,只有在選擇Custom模式安裝才可以改變安裝路徑,其他選項(xiàng)都選擇默認(rèn)選項(xiàng)。10.1.3 配置MySQL從MySQL6.0版本開(kāi)始,MySQL增加了許多高級(jí)功能,所以附帶了一個(gè)
3、配置向?qū)А?0.1.4 MySQL的常用命令數(shù)據(jù)庫(kù)的相關(guān)知識(shí)超出了本書(shū)的范疇,表10-1只給出了一些MySQL的常用命令,詳細(xì)情況請(qǐng)參考MySQL自帶的說(shuō)明文檔。在實(shí)際應(yīng)用中可能會(huì)使用一些MySQL的客戶端工具替代命令行來(lái)操作數(shù)據(jù)庫(kù),可以提高效率,比如:MySQL-Front。MySQL-Front的界面圖10.1.5 下載MySQL的JDBC驅(qū)動(dòng)上一章中曾做過(guò)介紹,訪問(wèn)不同的數(shù)據(jù)需要下載不同的JDBC,JDBC驅(qū)動(dòng)程序往往是由數(shù)據(jù)庫(kù)廠商提供的。推薦使用MySQL的網(wǎng)站提供的是MySQL的官方驅(qū)動(dòng)。下載地址是http:/ /downloads/connector/j/5.1.html。下載后是
4、一個(gè)zip文件,解壓里面包含源代碼和工程文件,這里只需要驅(qū)動(dòng)本身文件就可以了,文件名為MySQL-connector-java-X.X.X-bin.jar。在使用時(shí)需要把驅(qū)動(dòng)程序的jar文件加入的到ClassPath中。10.2 下載與安裝HibernateHibernate的安裝非常簡(jiǎn)單,可以把Hibernate工具包來(lái)使用,只要把Hibernate提供的jar文件加入到ClassPath,再做幾個(gè)項(xiàng)簡(jiǎn)單配置就可以使用了。10.2.1 下載Hibernate請(qǐng)到Hibernate的網(wǎng)站 下載Hibernate包,目前Hibernate核心API的版本是3.2.5。10.2.2 安裝Hiber
5、nateHibernate并不依賴(lài)于任何服務(wù)器和框架,所以在程序中使用Hibernate非常簡(jiǎn)單,只需要在把Hibernate的提供的jar加入到ClassPath中就可以了。解壓下載的Hibernate Core的zip文件是一個(gè)包括源代碼和文檔的包,在包的根路徑下(注意,這個(gè)jar不是在/lib目錄下)找到hibernate3.jar,這就是hibernate提供的jar。在程序中可能還會(huì)用到以下文件,它們?cè)?lib目錄下。10.3 第一個(gè)Hibernate程序本節(jié)將介紹如何使用Hibernate如何操作數(shù)據(jù)庫(kù),用一個(gè)對(duì)Person對(duì)象的保存和讀取的例子來(lái)說(shuō)明Hibernate基本配置和使
6、用方法。10.3.1 創(chuàng)建表創(chuàng)建一個(gè)最簡(jiǎn)單的表PERSON,主鍵id字段設(shè)為自動(dòng)增長(zhǎng),如代碼所示。代碼 創(chuàng)建Person表:CreateUser2MySQL.sqlCREATE TABLE PERSON ( ID INT(11) NOT NULL auto_increment PRIMARY KEY, NAME VARCHAR(100) NOT NULL default , AGE INT);10.3.2 創(chuàng)建持久化類(lèi)(persistent classes)在Hibernate 中是直接使用POJO來(lái)作為持久化類(lèi)的。所謂POJO就是簡(jiǎn)單的JAVA對(duì)象(Plain Old Java Object
7、s)的簡(jiǎn)稱(chēng)。實(shí)際就是普通JavaBeans,使用POJO名稱(chēng)是為了和EJB混淆起來(lái),而且簡(jiǎn)稱(chēng)比較直接。有一些屬性及其getter setter方法的類(lèi),有時(shí)可以作為value object或dto來(lái)使用。有一個(gè)簡(jiǎn)單的運(yùn)算屬性也是可以的,但不允許有業(yè)務(wù)方法,不能攜帶有connection之類(lèi)的復(fù)雜屬性。10.3.3 編寫(xiě)映射(mapping)文件幾乎所有的ORM工具都需要這樣一個(gè)數(shù)據(jù)庫(kù)字段與Bean屬性匹配的映射文件。在hibernate中習(xí)慣的命名為“*.hbm.xml”文件,如代碼所示。一般情況下映射文件與其對(duì)應(yīng)的class文件在同一級(jí)目錄中,這樣也方便查找。10.3.4 編寫(xiě)hiberna
8、te配置文件Hibernate的核心配置文件是hibernate.cfg.xml也可以寫(xiě)為屬性文格式名稱(chēng)為perties,推薦使用xml方式。在此文件中配置了用于連接數(shù)據(jù)庫(kù)的信息和一些全局配置,見(jiàn)代碼10-4所示。在本例中這個(gè)文件應(yīng)該放在ClassPath下,使hibernate能缺省就能加載到它。10.3.5 編寫(xiě)測(cè)試程序?yàn)榱肆D簡(jiǎn)單,本例只使用一個(gè)main函數(shù)來(lái)實(shí)現(xiàn)測(cè)試程序。首先必須啟動(dòng)Hibernate,此過(guò)程包括創(chuàng)建一個(gè)SessoinFactory,SessionFactory可以創(chuàng)建并打開(kāi)新的Session。一個(gè)Session代表一個(gè)單線程的單元操作。 接下來(lái)是正式的訪問(wèn)數(shù)據(jù)庫(kù)的代碼
9、10-5,將一個(gè)對(duì)象的信息保存到數(shù)據(jù)庫(kù)中,然后再讀取它。在本例中可以看出使用hibernate完成這些操作完全是面向?qū)ο蟮姆椒▉?lái)實(shí)現(xiàn)的。不必關(guān)心數(shù)據(jù)庫(kù)種類(lèi),甚至不必了解SQL語(yǔ)句用法。10.3.6 運(yùn)行測(cè)試如果本地的MySQL數(shù)據(jù)庫(kù)已經(jīng)啟動(dòng),就可以直接運(yùn)行這個(gè)例子了。程序的輸出應(yīng)該如代碼10-6所示。其中以“Hibernate:”開(kāi)頭的打印信息是hibernate框架自動(dòng)打印的日志,顯示一共執(zhí)行了兩天SQL語(yǔ)句,一條是插入數(shù)據(jù),一條是查詢(xún)數(shù)據(jù)。問(wèn)號(hào)代表JDBC的綁定參數(shù)。如果想要看到綁定參數(shù)的值或者需要減少日志的長(zhǎng)度,就要在perties文件調(diào)整Log的輸出級(jí)別。10.4 小結(jié)本章力圖使讀者在學(xué)習(xí)之前對(duì)hibernate有一個(gè)初步的認(rèn)識(shí)、產(chǎn)生學(xué)習(xí)興趣。本章的重點(diǎn)是用一個(gè)最簡(jiǎn)單的實(shí)例向讀者展示了hibernate操作數(shù)據(jù)庫(kù)的基本步驟:先
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 壓緊氣缸采購(gòu)合同范本
- 縣勞務(wù)輸出合同范本
- 化肥賒欠合同范例
- 辦公電腦訂購(gòu)合同范本
- 出國(guó)出境勞務(wù)合同范本
- 北京土方備案合同范本
- 廠房水電安裝合同范本
- 副食進(jìn)貨合同范本
- 合同范本模板收費(fèi)
- 南園新村租房合同范本
- DL∕T 478-2013 繼電保護(hù)和安全自動(dòng)裝置通 用技術(shù)條件 正式版
- DL∕T 516-2017 電力調(diào)度自動(dòng)化運(yùn)行管理規(guī)程
- 《原來(lái)數(shù)學(xué)這么有趣》小學(xué)數(shù)學(xué)啟蒙課程
- 中醫(yī)內(nèi)科臨床診療指南-塵肺病
- DZ∕T 0399-2022 礦山資源儲(chǔ)量管理規(guī)范(正式版)
- 2024年鄂爾多斯市國(guó)資產(chǎn)投資控股集團(tuán)限公司招聘公開(kāi)引進(jìn)高層次人才和急需緊缺人才筆試參考題庫(kù)(共500題)答案詳解版
- 競(jìng)賽試卷(試題)-2023-2024學(xué)年六年級(jí)下冊(cè)數(shù)學(xué)人教版
- 《研學(xué)旅行課程設(shè)計(jì)》課件-辨識(shí)與研學(xué)旅行場(chǎng)混淆的概念
- 部編版道德與法治三年級(jí)下冊(cè)教案全冊(cè)
- 山西眾輝電力服務(wù)公司歷年真題
- 修建蓄水池施工合同協(xié)議書(shū)范本
評(píng)論
0/150
提交評(píng)論