.NET中使用Hibernate步骤及详解
第一步:
引用nhibernate.dll
第二步:
创建实体类和映射文件,映射文件以 .hbm.xml为后缀名。配置示例如下:
<?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default-lazy="false"> //name=类的全名,命名空间 table=表名 <class name="Modle.person, Modle" table="person" > //name=属性名 cloumn=字段名称 unsaved-value标识是否为新的内容 <id name="id" column="id" type="Int32" unsaved-value="0"> //id增长模式,native表示由hibernate控制自动增长 <generator class="native" /> </id> <property name="name" column="name" type="String" length="20" /> <property name="age" column="age" type="Int32" length="4" /> </class> </hibernate-mapping>
注意:映射文件作为嵌入的资源到程序中
第三步:
创建hibernate配置文件,配置文件以nhibernate.cfg.xml为名,这样hibernate启动时自动加载
nhibernate.cfg.xml文件。当然,我们也可以用其他命名方式,这样在创建Configuration时指定文件名。配置示例
如下:
<?xml version="1.0" encoding="utf-8"?> <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> <session-factory name="sessionfactory"> <!-- 数据库连接提供接口 --> <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property> <!--数据驱动类 --> <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property> <!--指定数据库方言, NHB可以针对数据库方言进行优化 --> <property name="dialect">NHibernate.Dialect.MsSql2000Dialect</property> <!--连接字符串, uid和pwd改成你自己的哦。 --> <property name="connection.connection_string">Data Source= (local);Database=数据库名称;Integrated Security=SSPI</property> <!--property name="connection.connection_string">server=.; Database=数据库名称;uid=sa;password=;</property--> <property name="connection.isolation">ReadCommitted</property> <!-- 指定在log4net中是否显示sql语句, 用于调试 --> <property name="show_sql">true</property> <!--配置外连接--> <property name="use_outer_join">true</property> <!--配置超时--> <property name="command_timeout">3000</property> <!--配置true/false等表达方式--> <property name="query.substitutions">true 1, false 0, yes 1, no 0</property> <property name="hibernate.current_session_context_class">managed_web</property> <!-- HBM Mapping Files --> //映射文件assembly表示嵌入的资源assembly=命名空间,hibernate会自动加载 //以.hbm.xml为后缀的文件 <mapping assembly="Modle" /> </session-factory> </hibernate-configuration>
hibernate配置文件一般有几个关键属性:
一、数据库连接提供接口
二、数据驱动类
三、数据库方言
四、连接字符串
五、映射文件
配置好后,我们可以在程序中使用。方法如下:
Configuration cfg = new Configuration().configure();//以hibernate.cfg.xml为文件名
Configuration cfg = new Configuration().configure("文件名");//指定文件名
ISessionFactory factory = cfg.buiddSessionfactory();
ISession session = factory.openSession();
浙公网安备 33010602011771号