第一步:
引用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();