




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第10章 Hibernate入門Hibernate作為優(yōu)秀的OR mapping框架除了其功能強大之外,其簡單易用性也是它流行起來的一大原因。Hibernate的運行不需要其他框架或者服務器支持,而且絕大多數(shù)配置提供了缺省配置,使初學者的上手十分容易。本章作為入門章節(jié)將介紹如何下載和安裝Hibernate,并介紹Hibernate包內都包含哪些文件,各自有什么作用。并介紹一種應用廣泛的數(shù)據(jù)庫MySQL。10.1 安裝MySQL數(shù)據(jù)庫MySQL是一個小型關系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。其體積小、速度快而且它是免費并且開源的。對于一般的個人使用者和中小型企業(yè)來說,MySQL
2、提供的功能和性能已經(jīng)綽綽有余,尤其適合初學者學習使用。本書與數(shù)據(jù)庫相關的實例都是基于MySQL數(shù)據(jù)庫的。10.1.1 下載HibernateMySQL的下載地址: 目前發(fā)布的最新版本為MySQL6.0,選擇windows平臺,最簡單的安裝方式Setup.exe下載。下載頁面如圖所示。10.1.2 安裝MySQLMySQL的安裝十分簡單,下載解壓之后是一個獨立的setup.exe文件,直接運行安裝。與一般的軟件安裝有點不同,只有在選擇Custom模式安裝才可以改變安裝路徑,其他選項都選擇默認選項。10.1.3 配置MySQL從MySQL6.0版本開始,MySQL增加了許多高級功能,所以附帶了一個
3、配置向導。10.1.4 MySQL的常用命令數(shù)據(jù)庫的相關知識超出了本書的范疇,表10-1只給出了一些MySQL的常用命令,詳細情況請參考MySQL自帶的說明文檔。在實際應用中可能會使用一些MySQL的客戶端工具替代命令行來操作數(shù)據(jù)庫,可以提高效率,比如:MySQL-Front。MySQL-Front的界面圖10.1.5 下載MySQL的JDBC驅動上一章中曾做過介紹,訪問不同的數(shù)據(jù)需要下載不同的JDBC,JDBC驅動程序往往是由數(shù)據(jù)庫廠商提供的。推薦使用MySQL的網(wǎng)站提供的是MySQL的官方驅動。下載地址是http:/ /downloads/connector/j/5.1.html。下載后是
4、一個zip文件,解壓里面包含源代碼和工程文件,這里只需要驅動本身文件就可以了,文件名為MySQL-connector-java-X.X.X-bin.jar。在使用時需要把驅動程序的jar文件加入的到ClassPath中。10.2 下載與安裝HibernateHibernate的安裝非常簡單,可以把Hibernate工具包來使用,只要把Hibernate提供的jar文件加入到ClassPath,再做幾個項簡單配置就可以使用了。10.2.1 下載Hibernate請到Hibernate的網(wǎng)站 下載Hibernate包,目前Hibernate核心API的版本是3.2.5。10.2.2 安裝Hiber
5、nateHibernate并不依賴于任何服務器和框架,所以在程序中使用Hibernate非常簡單,只需要在把Hibernate的提供的jar加入到ClassPath中就可以了。解壓下載的Hibernate Core的zip文件是一個包括源代碼和文檔的包,在包的根路徑下(注意,這個jar不是在/lib目錄下)找到hibernate3.jar,這就是hibernate提供的jar。在程序中可能還會用到以下文件,它們在/lib目錄下。10.3 第一個Hibernate程序本節(jié)將介紹如何使用Hibernate如何操作數(shù)據(jù)庫,用一個對Person對象的保存和讀取的例子來說明Hibernate基本配置和使
6、用方法。10.3.1 創(chuàng)建表創(chuàng)建一個最簡單的表PERSON,主鍵id字段設為自動增長,如代碼所示。代碼 創(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)建持久化類(persistent classes)在Hibernate 中是直接使用POJO來作為持久化類的。所謂POJO就是簡單的JAVA對象(Plain Old Java Object
7、s)的簡稱。實際就是普通JavaBeans,使用POJO名稱是為了和EJB混淆起來,而且簡稱比較直接。有一些屬性及其getter setter方法的類,有時可以作為value object或dto來使用。有一個簡單的運算屬性也是可以的,但不允許有業(yè)務方法,不能攜帶有connection之類的復雜屬性。10.3.3 編寫映射(mapping)文件幾乎所有的ORM工具都需要這樣一個數(shù)據(jù)庫字段與Bean屬性匹配的映射文件。在hibernate中習慣的命名為“*.hbm.xml”文件,如代碼所示。一般情況下映射文件與其對應的class文件在同一級目錄中,這樣也方便查找。10.3.4 編寫hiberna
8、te配置文件Hibernate的核心配置文件是hibernate.cfg.xml也可以寫為屬性文格式名稱為perties,推薦使用xml方式。在此文件中配置了用于連接數(shù)據(jù)庫的信息和一些全局配置,見代碼10-4所示。在本例中這個文件應該放在ClassPath下,使hibernate能缺省就能加載到它。10.3.5 編寫測試程序為了力圖簡單,本例只使用一個main函數(shù)來實現(xiàn)測試程序。首先必須啟動Hibernate,此過程包括創(chuàng)建一個SessoinFactory,SessionFactory可以創(chuàng)建并打開新的Session。一個Session代表一個單線程的單元操作。 接下來是正式的訪問數(shù)據(jù)庫的代碼
9、10-5,將一個對象的信息保存到數(shù)據(jù)庫中,然后再讀取它。在本例中可以看出使用hibernate完成這些操作完全是面向對象的方法來實現(xiàn)的。不必關心數(shù)據(jù)庫種類,甚至不必了解SQL語句用法。10.3.6 運行測試如果本地的MySQL數(shù)據(jù)庫已經(jīng)啟動,就可以直接運行這個例子了。程序的輸出應該如代碼10-6所示。其中以“Hibernate:”開頭的打印信息是hibernate框架自動打印的日志,顯示一共執(zhí)行了兩天SQL語句,一條是插入數(shù)據(jù),一條是查詢數(shù)據(jù)。問號代表JDBC的綁定參數(shù)。如果想要看到綁定參數(shù)的值或者需要減少日志的長度,就要在perties文件調整Log的輸出級別。10.4 小結本章力圖使讀者在學習之前對hibernate有一個初步的認識、產生學習興趣。本章的重點是用一個最簡單的實例向讀者展示了hibernate操作數(shù)據(jù)庫的基本步驟:先
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東省六校2025屆高三下學期聯(lián)考化學試題含解析
- 2025年文化、辦公用設備或器具項目投資風險評估報告
- 2025年高低壓費控系統(tǒng)項目建議書
- 跨境電子商務與倉儲的關系試題及答案
- 2024年國際物流師考試應試策略試題及答案
- 浙江省“溫州八校”2025屆高考全國統(tǒng)考預測密卷化學試卷含解析
- 湖北省部分高中協(xié)作體2025屆高三下學期3月一模聯(lián)考歷史試題答案
- 2025年全數(shù)字攝影測量系統(tǒng)項目合作計劃書
- CPSM考試智能化復習試題及答案
- 了解國際物流師職業(yè)的多樣性和含義與試題及答案
- 知識點 4.4 206系列轉向架(一)(二)課件講解
- 課題研究過程與計劃執(zhí)行情況
- 電子商務師四級完整考題庫598題(含參考答案)
- 感染性心內膜炎護理業(yè)務學習課件
- 2024年中國郵政集團有限公司校園招聘考試試題參考答案
- 《牙體牙髓病學》課件-牙內陷
- 2024年黑龍江省哈爾濱市中考二?;瘜W試題
- 2024糖尿病酮癥酸中毒診斷和治療課件
- 銀行市場調研報告
- 頸后路手術護理查房
- 體檢報告查詢網(wǎng)站
評論
0/150
提交評論