上文回顧:
之前我們說道如何通過NHibernate來做一個Hello World的一個小小的Demo (- -其實一點也不少。。,Nhibernate配置可以讓很多沒有耐心的人望而卻步,我之前好幾次都放棄了囧)。
我們現在就來講解一下HelloWorld裡面出現的各種設定檔。
設定檔種類
在NH中需要2個設定檔 1.資料庫配置 NHibernate.cfg.xml 2.實體模型映射配置 ModelName.hbm.xml
1.資料庫配置 NHibernate.cfg.xml 故名思議,我需要讓NH幫我處理哪個資料庫的CRUD的操作(只能做CRUD? 廢話,NH只是一個簡化資料庫操作的工具而已- -)。
2.實體模型映射配置 ModelName.hbm.xml ,我們需要讓NH明白他處理的資料庫有哪些表,表裡的列與實體類的映射關係。
資料庫Config設定詳解
首先我們來看一下之前的設定檔。
1、首先我們需要註冊一下NH的處理組件
configSections標記必須位於config標記之首,我們通過configSections來註冊NH.
2、註冊了之後我們需要配置NH串連資料庫的參數
我們發現NH的資料庫config參數都在hibernate-configuration標記裡。(沿用Hibernate的配置方式。) xmlns參數是為了引用可以自動提示的DTD驗證檔案。
session-factory標記是用來標識一個資料庫的設定的,也就是說我們可以使用多個session-factory來達到同時操作多個/種資料庫的目的,需要配置name屬性達到標識不同資料庫的目的,如果是一個資料庫的話name屬性可以省去
property這個標記故名思議就是資料庫設定的屬性了。 我們需要通過該標記的name屬性告訴NH我們設定的是什麼東西。在該標記的InnerText部分填入對應的資料。
參數名
參見值
解釋
dialect
NHibernate.Dialect.MsSql2008Dialect
資料庫的方言,也就是採用什麼類型的資料庫如MYSQL,MSSQL,ORACLE等
connection.driver_class
NHibernate.Driver.SqlClientDriver
該方言對應的處理資料庫的驅動(類似抽象原廠模式裡的方式)
connection.connection_string_name
connection_string_name
設定檔中Connectionstring裡的某個串連
connection.provider
NHibernate.Connection.DriverConnectionProvider
必須有的。沒有實際意義
show-sql
true
是否顯示產生的SQL語句在輸出視窗
常用的就會涉及到這幾個參數,還會有一些發布以後的串連池設定。我們先忽略這些開發無關的設定。
3.配置串連資料庫的串連串
實際上,我們可以在NH參數裡直接寫串連串,但是為了起到分離效果,還是推薦參數NET本來的串連串編寫方式。
今天中午時間有限,現介紹到這裡吧。後面我們會講解Model-mapping