zoukankan      html  css  js  c++  java
  • NHibernate使用之详细图解

    本文档适合初级开发者或者是第一次接触NHibernate框架的朋友,其中NHibernate不是最新的版本,但是一个比较经典的版本 NHibernate 2.1.2,其中用红线标注的部分一定要仔细看,这些都是容易忽略和出错的地方,笔者在此给大家做了特殊标记。

    NHibernate框架的介绍:http://baike.baidu.com/view/954535.htm

    开发环境 Vs 2010 + MsSql2005 + NHibernate 2.1.2.

    本示例的下载地址:点击下载NHibernate 2.1.2的下载地址:点击下载

    目录

    步骤一、创建数据库和映射的表。

    步骤二、创建项目和实体类映射类以及类对应的映射文件。

    步骤三、添加项目引用与NHibernate的dll文件。

    步骤四、配置hibernate.cfg.xml文件(数据库映射信息配置)无需配置web.config。

    步骤五、创建和使用NHibernate.


    步骤一、创建数据库和映射的表。如图:

    数据库:hibDB,映射表:people.

    步骤二、创建项目和实体类映射类以及类对应的映射文件

    新建一个网站,网站创建之后,网站解决方案右键,选择添加 => 新建项目 => 类库

    给类库起名,本测试程序名称为:Com.uuu9.nHibernate,然后把自带的Class1.cs改名为创建映射表的名称(映射实体类的名称),本示例为People.cs,其中实体类的代码为表属性的set与get,如图:

    与之前写的实体类不同的是此实体类每个属性前面就加了virtual,虚方法或者属性的关键字,子类可以从新定义(override),在这里必须有virtual 关键字,不然程序运行就会出错。笔者判断此原因可能是程序在运行时候此属性被重新映射(定义),所以必须添加virtual关键字。

    然后比较重要的一个步骤就是配置此实体类对应的映射文件,此映射xml文件名称固定为“实体类.hbm.xml”,其代码如图:

    实体类的属性配置,其中“Com.uuu9.nHibernate”为上述所建类库(生成程序集的名称)的名称。注意:每个实体类对应的映射文件“实体类.hbm.xml”,都要右键设置生成类型属性为:嵌入的资源。如图:

    因为当作为一个资源被嵌入后,项目的默认命名空间与文件名就组成了资源访问的完整名称,NHibernate运行时会访问资源的完整名称,但如果不设置,程序就找不到映射文件,就会认为此类没有设置映射,也就不能使用NHibernate操作。

    步骤三、添加项目引用与NHibernate(版本2.1.2)的dll文件。

    要引用的NHibernate的dll如图:

    其中都为必须引用的dll。

    步骤四、配置hibernate.cfg.xml文件(数据库映射信息配置)

    hibernate.cfg.xml文件为NHibernate的配置文件,名称固定,且必须放到Bin目录中。内容如图:

    name可以自己随意定义,

    NHibernate.Dialect.MsSql2005Dialect”可根据实际的数据库的需要改为 2000Dialect、2008Dialect。

    注意:“<mapping assembly="Com.uuu9.nHibernate"/>”为实体类生成程序集的名称,一直要写正确,一定要有。

    步骤五、创建和使用NHibernate

    使用的代码如图:

    至此NHibernate制作完毕。

    本示例的下载地址:点击下载NHibernate 2.1.2的下载地址:点击下载



    Orm框架相关文章链接:

    1.NHibernate使用之详细图解

    2.iBatis for net 框架使用

    3.iBatis for Net 代码生成器(CodeHelper)附下载地址

    4.NBear简介与使用图解 

    5.SubSonic框架使用图解

    6.GentleNet使用之详细图解

    关注下面二维码,订阅更多精彩内容。
    微信打赏
    关注公众号(加好友):

  • 相关阅读:
    supervisor使用小记
    linux新增定时脚本
    page_fault_in_nonpaged_area异常解决方案(已解决)
    和安卓对接老是ping不通?试试内网映射
    github文件下载加速器
    mybatis新增账号并且返回主键id
    arraylist源码解析
    MySQL安装教程
    通过get方法的方式获取配置项信息
    @Inject注解
  • 原文地址:https://www.cnblogs.com/vipstone/p/2177830.html
Copyright © 2011-2022 走看看