Linux下用intellij idea手動(dòng)創(chuàng)建一個(gè)hibernate項(xiàng)目.docx_第1頁(yè)
Linux下用intellij idea手動(dòng)創(chuàng)建一個(gè)hibernate項(xiàng)目.docx_第2頁(yè)
Linux下用intellij idea手動(dòng)創(chuàng)建一個(gè)hibernate項(xiàng)目.docx_第3頁(yè)
Linux下用intellij idea手動(dòng)創(chuàng)建一個(gè)hibernate項(xiàng)目.docx_第4頁(yè)
Linux下用intellij idea手動(dòng)創(chuàng)建一個(gè)hibernate項(xiàng)目.docx_第5頁(yè)
已閱讀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à)工廠(chǎng) session=sf.openSession();/通過(guò)會(huì)話(huà)工廠(chǎng)獲取一個(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論