不顧一切最簡NHinbernate配置並讀寫數據庫

本文旨在使從未用過NHinbernate的人,使用NHinbernate從0開始到能夠讀寫數據庫,所有設置都是最簡和默認。

必要條件是應當對C#有所瞭解,數據庫可以不必瞭解。

1.打開VS建立一個新的類庫項目(要選.net framework,其它類型沒試過),添加對NHibernate的引用。NHibernate下載地址:https://nhibernate.info,下載後解壓,引用。

2.新建一個文件hibernate.cfg.xml,放在項目的根目錄下,文件名固定,位置固定,這是默認的規則(以後可以配置,暫時不要動),寫入以下文本:

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="connection.connection_string">Data Source=192.168.1.111;Initial Catalog=abc;Persist Security Info=True;User ID=sa;Password=12345;</property>
    <property name="dialect">NHibernate.Dialect.MsSql2012Dialect</property>
    <mapping assembly="TestNHibernate3" />
  </session-factory>
</hibernate-configuration>

以上的4行,是最低要求,缺一不可。

其中,connection.driver_class是數據庫驅動程序所在的類,如果記不住,可以在引用中右鍵NHinbernate,在對象瀏覽器中查看,找到NHibernate.Driver,這裏可以看到各種數據庫連接程序,我使用的是Sql Server,所以選SqlClientDriver,複製,粘貼到文件中。同時試了一下並列的Sql2008ClientDriver,也可以用,試了一下NHibernate.Driver.OracleClientDriver,不能用,會報錯,主要是因爲連接字符串不兼容。其它沒試,應該是存在着同樣的問題。

connection.connection_string是數據庫連接串,不多說。

dialect是數據庫類型,可以在引用中右鍵NHinbernate,在對象瀏覽器中查看,找到NHibernate.Dialect,找到MsSql2012Dialect,複製,粘貼。

mapping的assembly是dll的名稱,在本項目中,就是項目的名稱TestNHibernate3,對應的dll是TestNHibernate3.dll

3.新建一個實體類

4.新建一個實體映射文件

4.新建一個數據訪問類

5.新建一個測試項目

 

注意事項:

1.測試項目一旦在自己的Debug目錄下生成了hibernate.cfg.xml,那麼需要重新生成主程序,再次運行測試,纔會在自己的Debug下更新

2.XML文件區分大小寫,數據庫中的表名如果是Abc,在配置文件中寫成abc會報No persist for錯誤。

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