




已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Linux下用intellij idea手動(dòng)創(chuàng)建一個(gè)hibernate項(xiàng)目 學(xué)習(xí)過(guò)韓順平老師的hibernate視頻教程后,我覺(jué)得在以后的學(xué)習(xí)生活中經(jīng)常養(yǎng)成做筆記的習(xí)慣;一來(lái)希望能夠養(yǎng)成一個(gè)好習(xí)慣,二來(lái)希望能夠有益于他人。學(xué)習(xí)的東西越多,就越有可能遇到別人沒(méi)有解決的問(wèn)題,如果我的分享能夠給別人帶來(lái)一點(diǎn)幫助,那也是再好不過(guò)了。 廢話(huà)不多說(shuō),我現(xiàn)在總結(jié)一下在linux下使用intellij idea14.0和mysql Ver 14.14 Distrib 5.6.27和hibernate5.0.6建立一個(gè)hibernate項(xiàng)目的過(guò)程。1假設(shè)你已經(jīng)安裝好了intellij,mysql,并且下載好了hibernate包。2建立三個(gè)包,domain包【用于存放類(lèi)class】,service包【暫不做介紹】,view包【視圖包用于測(cè)試】,如下圖所示:3 Employee類(lèi)文件如下:package com.hsp.domain;import java.io.Serializable;import java.util.Date;/* * Created by xcl on 15-12-22. */建議我們domain對(duì)象的名稱(chēng)就是關(guān)系名的大寫(xiě)/該類(lèi)所產(chǎn)生的對(duì)象是需要持久存儲(chǔ)和被映射到關(guān)系中去的對(duì)象public class Employee implements Serializable private Integer id; private String name; private String email; private java.util.Date hireDate; public Integer getId() return id; public void setId(Integer id) this.id = id; public String getName() return name; public void setName(String name) = name; public Date getHireDate() return hireDate; public void setHireDate(Date hireDate) this.hireDate = hireDate; public String getEmail() return email; public void setEmail(String email) this.email = email; 4建立Employee類(lèi)的對(duì)象關(guān)系轉(zhuǎn)換控制文件,該文件命名為:Employee.hbm.xml,該文件至關(guān)重要,因?yàn)樗麤Q定了如何將Employee產(chǎn)生的對(duì)象映射到關(guān)系中去。注意:該文件需要與Employee類(lèi)放在同一個(gè)目錄下面【domain包中】。 5在src目錄下面建立hibernate.cfg.xml,該文件名字不得改變,否則需要建立Configuration的時(shí)候指定該數(shù)據(jù)庫(kù)配置文件。我們?cè)谠撐募信渲檬褂玫臄?shù)據(jù)庫(kù)并且指定控制和管理的對(duì)象關(guān)系映射文件Employee.hbm.xml com.mysql.jdbc.Driver root 0213 jdbc:mysql:/localhost:3306/xcl org.hibernate.dialect.MySQLDialect true 6點(diǎn)擊file/project structure彈出如下界面把數(shù)據(jù)庫(kù)mysql的驅(qū)動(dòng)包和hibernate5.0.6目錄下面的包require和osgi都添加到依賴(lài)dependencies中去。7至此,所有的配置已經(jīng)完成,下面在數(shù)據(jù)庫(kù)中建立一個(gè)數(shù)據(jù)庫(kù)xcl和表employee,代碼如下:Create database xcl;Use xcl;Create table employee(id int primary key,name char(9) not null,email varchar(20) not null,hireDate date not null);8在view包下建立一個(gè)工具類(lèi)package com.hsp.view;import org.hibernate.cfg.Configuration;/* * Created by xcl on 15-12-22. */因?yàn)閛rg.hibernate.cfg.Configuration類(lèi)非常占用資源,因此用一個(gè)單例類(lèi)來(lái)避免重復(fù)創(chuàng)建public class getConfiguration /設(shè)置單例 private getConfiguration() private static Configuration conf=null; /靜態(tài)代碼塊在類(lèi)加載的時(shí)候執(zhí)行一次 static if(conf=null)conf=new Configuration().configure(); public static Configuration getConfigInstance() return conf; 以及測(cè)試類(lèi),以下測(cè)試類(lèi)可以實(shí)現(xiàn)對(duì)employee表中元組的插入,刪除,和更新。package com.hsp.view;import com.hsp.domain.Employee;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import java.util.Date;/* * Created by xcl on 15-12-22. * 使用hibernate完成crud操作 */public class test /conf用來(lái)讀取配置文件 static Configuration conf=null; static SessionFactory sf=null; static Session session=null; static conf=getConfiguration.getConfigInstance();/獲取hibernate.cfg.xml配置文件中的信息并返回Configuration對(duì)象 sf=conf.buildSessionFactory();/獲取會(huì)話(huà)工廠 session=sf.openSession();/通過(guò)會(huì)話(huà)工廠獲取一個(gè)會(huì)話(huà),特別注意,如果不通過(guò)建立SessionFactory對(duì)象sf來(lái)獲取session而是直接通過(guò)Configuration.configure方法來(lái)獲取session會(huì)話(huà)的話(huà)會(huì)導(dǎo)致進(jìn)程無(wú)法關(guān)閉,切記。 public static void main(String args) /添加一個(gè)成員 /addAnEmployee(); /更新一個(gè)成員 /updateAnEmployee(); /刪除一個(gè)成員 /deleteAnEmployee(); /closeResource(); private static void deleteAnEmployee() Transaction transaction=session.beginTransaction();/特別注意,所有的hibernate對(duì)象關(guān)系映射都需要通過(guò)事務(wù)來(lái)提交。 Employee e=session.load(Employee.class,3);/session的load方法,第一個(gè)參數(shù)位字節(jié)碼對(duì)象,第二個(gè)是主鍵。 session.delete(e); mit(); private static void updateAnEmployee() Transaction transaction=session.beginTransaction(); Employee e=session.load(Employee.class,3); e.setName(李文鵬); mit(); private static void addAnEmployee() Transaction transection=session.beginTransaction(); Employee e=new Employee(); /e.setId(1); e.setName(許傳煉); e.setE
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中醫(yī)藥國(guó)際市場(chǎng)拓展中的文化差異應(yīng)對(duì)策略報(bào)告001
- 放射科護(hù)理干預(yù)
- 工作培訓(xùn)情況
- 2025至2030椰子糖行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 精神發(fā)育遲滯護(hù)理常規(guī)
- 審計(jì)業(yè)務(wù)小技巧活動(dòng)方案
- 2025至2030電動(dòng)計(jì)量泵行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 安全隊(duì)活動(dòng)方案
- 官山社區(qū)慶中秋活動(dòng)方案
- 醫(yī)藥健康教育培訓(xùn)課件
- 電機(jī)控制與調(diào)速技術(shù) 教案
- 項(xiàng)目6 6.2 植物生產(chǎn)的溫度調(diào)控(2)(課件)-《植物生產(chǎn)與環(huán)境》(高教版第4版)
- 大學(xué)生心理健康模擬練習(xí)題(附答案)
- 【MOOC】生理學(xué)-中南大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 【湘藝版必修《音樂(lè)鑒賞》第四單元《中國(guó)民族民間音樂(lè)》單元教學(xué)設(shè)計(jì)】
- 【MOOC】鐵路行車(chē)組織-北京交通大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 服務(wù)質(zhì)量保障
- 通信施工安全生產(chǎn)培訓(xùn)
- 信息檢索課件 第2章 文獻(xiàn)檢索方法(1)-2
- 學(xué)習(xí)2024年《關(guān)于加強(qiáng)社會(huì)組織規(guī)范化建設(shè)推動(dòng)社會(huì)組織高質(zhì)量發(fā)展的意見(jiàn)》解讀課件
- 2024年秋季新人教PEP版三年級(jí)上冊(cè)英語(yǔ)全冊(cè)教案
評(píng)論
0/150
提交評(píng)論