牵一发动全身【Nhibernate基本映射】

编程入门 行业动态 更新时间:2024-10-22 20:36:44

牵一发动<a href=https://www.elefans.com/category/jswz/34/1769528.html style=全身【Nhibernate基本映射】"/>

牵一发动全身【Nhibernate基本映射】

     用牵一发动全身来形容Nhibernate的映射,一点都不夸张。小小的属性的改动,决定了整个Nhibernate的运行动态。下面让我们来具体了解一下,通过回顾我们在上篇文章中用到的配置文件,做一个对xml映射文件的理解补充:   

    实体类的映射文件:

一个实体类对应的是数据库中的一张表;类中的一个属性对应表中的一个字段;操作一个对象对应操作的的是表中的一条记录。

<?xmlversion="1.0" encoding="utf-8" ?>
<hibernate-mappingxmlns="urn:nhibernate-mapping-2.2" namespace="Model"assembly="Model"><class name="Dog"table="Dog"><id name="Id"><column name="DogId"sql-type="char(32)" /><generator class="assigned"/></id><property name="Name"><column name="Name"length="16"  /></property><property name="Sex" /><property name="Weight" /></class>
</hibernate-mapping>


<class></class>标签是定义一个持久化类的。     

       "class name="Dog""                             持久化类的类名,这里可以是类的全名。

        table="Dog"                            对应的数据库表名。

<id><id>标签定义了该属性到数据库表主键字段的映射。

    property  name="Id"                           标识属性的名字。

        sql-type="char(32)"                              NHibernate类型的名字

       column name="DogId"                          主键字段的名字。

<property></property>标签是类定义了一个持久化类的属性。

name="propertyName"                           属性名

        column="column_name"                          对应的数据库字段名。

        type="typename"                               NHibernate类型的名字。


    Nhibernate运作方式的配置文件,主要是配置session工厂:

<strong><</strong>?xmlversion="1.0" encoding="utf-8" ?><hibernate-configurationxmlns="urn:nhibernate-configuration-2.2"><session-factory><property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property><property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property><property name="connection.connection_string">Server=(local);uid=sa;pwd=123456;database=quickstart //将该属性的填写改成你自己的数据库连接符</property><property name="hbm2ddl.auto">update</property><mapping assembly="Model"/></session-factory></hibernate-configuration>

 <property name="dialect">    配置 数据库方言 ,针对不同的数据有不同配置,当前配置的是Sqlsever的方言

 <property name="connection.provider">    配置 连接池

  <property name="connection.connection_string">      属性值大家看着肯定熟悉,对,是配置连接数据库的字符串

<property name="hbm2ddl.auto">    该属性的配置,决定Nhibernate的运行,是否会自动生成数据库表

 <mapping assembly="Model"/>      这里的属性 配置 要加载的实体类的配置文件所在的程序集

每个属性的值,都还有很多的不同配置,自己可通过查阅API手册,详细地去学习,这里只做简单的分享。

总结:配置文件给我们的程序带来了很大的好处,从抽象工厂,到Nhibernate无处不彰显着它给程序带来的灵活性。配置文件,一定会大行其道吧!

更多推荐

牵一发动全身【Nhibernate基本映射】

本文发布于:2023-07-01 05:34:41,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/971443.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:全身   Nhibernate

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!