第一步:
引用nhibernate.dll
第二步:
創建實體類和映射文件,映射文件以 .hbm.xml為后綴名。配置示例如下:
01.<?xml version="1.0" encoding="utf-8" ?> 02.<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default-lazy="false"> 03.//name=類的全名,命名空間 table=表名 04.<class name="Modle.person, Modle" table="person" > 05.//name=屬性名 cloumn=字段名稱 unsaved-value標識是否為新的內容 06.<id name="id" column="id" type="Int32" unsaved-value="0"> 07.//id增長模式,native表示由hibernate控制自動增長 08.<generator class="native" /> 09.</id> 10.<property name="name" column="name" type="String" length="20" /> 11.<property name="age" column="age" type="Int32" length="4" /> 12.</class> 13.</hibernate-mapping>
注意:映射文件作為嵌入的資源到程序中
第三步:
創建nhibernate配置文件,配置文件以nhibernate.cfg.xml為名,這樣nhibernate啟動時自動加載
nhibernate.cfg.xml文件。當然,我們也可以用其他命名方式,這樣在創建Configuration時指定文件名。配置示例
如下:
01.<?xml version="1.0" encoding="utf-8"?> 02.<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> 03.<session-factory name="sessionfactory"> 04.<!-- 數據庫連接提供接口 --> 05.<property 06. 07. 08.name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property> 09. 10. 11.<!--數據驅動類 --> 12.<property 13. 14. 15.name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property> 16. 17. 18.<!--指定數據庫方言, NHB可以針對數據庫方言進行優化 --> 19.<property name="dialect">NHibernate.Dialect.MsSql2000Dialect</property> 20.<!--連接字符串, uid和pwd改成你自己的哦。 --> 21.<property name="connection.connection_string">Data Source= 22. 23. 24.(local);Database=數據庫名稱;Integrated Security=SSPI</property> 25.<!--property name="connection.connection_string">server=.; 26. 27. 28.Database=數據庫名稱;uid=sa;password=;</property--> 29.<property name="connection.isolation">ReadCommitted</property> 30. 31. 32.<!-- 指定在log4net中是否顯示sql語句, 用於調試 --> 33.<property name="show_sql">true</property> 34. 35. 36. 37. 38.<!--配置外連接--> 39.<property name="use_outer_join">true</property> 40.<!--配置超時--> 41.<property name="command_timeout">3000</property> 42.<!--配置true/false等表達方式--> 43.<property name="query.substitutions">true 1, false 0, yes 1, no 0</property> 44.<property name="hibernate.current_session_context_class">managed_web</property> 45.<!-- HBM Mapping Files --> 46.//映射文件assembly表示嵌入的資源assembly=命名空間,hibernate會自動加載 47. 48. 49.//以.hbm.xml為后綴的文件 50.<mapping assembly="Modle" /> 51.</session-factory> 52.</hibernate-configuration>
nhibernate配置文件一般有幾個關鍵屬性:
一、數據庫連接提供接口
二、數據驅動類
三、數據庫方言
四、連接字符串
五、映射文件
配置好后,我們可以在程序中使用。方法如下:
01.Configuration cfg = new Configuration().configure();//以hibernate.cfg.xml為文件名 02.Configuration cfg = new Configuration().configure("文件名");//指定文件名 03.ISessionFactory factory = cfg.buiddSessionfactory(); 04.ISession session = factory.openSession();