.NET中使用NHibernate步骤及详解


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

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM