本文旨在使從未用過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錯誤。