NHibernate入門初學者-先睹爲快

  NHiernate相信大家都非常熟悉,可能沒用過,但是至少大家都聽說過。這系列的文章也層出不窮,也就是我們經常所說的orm的應用,也正是面向對象開發的表現。NHibernate集成了java的Hibernate優點而又體現了.net的長處可以說是寵於一身,那麼就更加激起了我對NHibernate的學習的渴望,想早點揭開它的面紗,於是今天發了一天的時間到網上到處找資料瞭解它,學習它看它到底有多神祕。哎,廢話,感慨也不想說了,就開始進入學習之旅吧,下面就拿我寫的一個小例子來講解。

先看網上關於NHibernate的說法:

  在今日的企業環境中,把面向對象的軟件和關係數據庫一起使用可能是相當麻煩、浪費時間的。NHibernate是一個面向.Net環境的對象/關係數據庫映射工具。對象/關係數據庫映射(object/relational mapping (ORM))這個術語表示一種技術,用來把對象模型表示的對象映射到基於SQL的關係模型數據結構中去。
NHibernate除了能將一張表映射爲一個對象,還可以將表間關係變爲對象的屬性。例如學生和課程間的多對多關係就可以轉化爲學生類中的一個課程集合的屬性。由此可見,NHibernate不僅僅管理.Net類到數據庫表的映射,還提供數據查詢和獲取數據的方法。因此採用NHibernate,可以大幅度減少開發時人工使用SQL處理數據的時間。

1.首先我創建了一個數據庫,數據庫以sql server2005爲例

 create table Student
(
 id int primary key identity(1,1),
 userName varchar(30),
 userPass varchar(30),
 age varchar(30)
)

2.打開vs2008建立如下項目,建立項目的步驟我就不在表述 了

 

3.下載Nhibernate包,加載一系列dll文件到web裏bin文件裏面

 dll文件包括:NHibernate.dll/NHibernate.ByteCode.Castle.dll/Iesi.Collections/Castle.Core/Antlr3.Runtime

4.在model項目裏創建實體類以及實體類的映像文件

注意:這裏的熟悉要用virtual修飾,具體的什麼原因,由於字數太多我也不描述了,大家可以參考官方Nhibernate的講解

接下來大家看看這個實體類的映像文件Student.hbm.xml

需要指出的就是:class name=完整類名稱,命名空間   table=表名稱  assigned表示爲Nhibernate結構的自動增長熟悉

 property表示字段的名稱,以及類型

映像文件創建好後要修改文件的操作爲“嵌入式資源”,默認爲內容,修改方法右擊該文件選擇屬性修改如下:

5.創建一個Nhibernate的SessionFactorys(相當於一個數據),在利用它返回一個ISeesion來進行增刪改查等操作,Isession稱爲NHibernate的一個工作單元

 

6在web目錄下或者bin目錄下添加hibernate.cfg.xml文件用於配置數據庫的一些操作

注意:這裏我配置的是sql server2005的不同的數據庫有不同的配置方法,assembly:指實體的命名空間名稱

7..在前臺就開始調用實現我們想要的增,查等操作

根據以上的步驟我總結一下:

1.爲系統引入NHibernate的庫,並且配置NHibernate;
2.新建一個將要持久化.Net對象的表;
3.構建一個需要被持久化的.Net類;

4.構建一個可以讓NHibernate知道如何完成ORM映射的XML文件;
5.使用NHibernate的API來編程或者Hql來編程(hql就是相當於sql,只不過在這裏說的名稱不一樣,不過寫法也有點區別)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章