码迷,mamicode.com
首页 > Web开发 > 详细

NHibernate从入门到精通系列(3)——第一个NHibernate应用程序

时间:2015-09-21 15:31:51      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

内容摘要

    准备工作

    开发流程

    程序开发

 

  一、准备工作

    1.1开发环境

      开发工具:VS2008以上,我使用的是VS2010

      数据库:任意关系型数据库,我使用的是SQL Server 2005 Express

    1.2测试环境

      nunit 2.5.7

 

  二、开发流程

  NHibernate程序的开发流程是:

    (1).编写领域类与映射文件

    (2).使用NHibernate工具生成对应的数据库结构

    (3).编写DAO(数据库访问对象)

    (4).使用NUnit测试DAO(数据访问对象)的增、删、该、查方法

 

  三、程序开发

  3.1 建立Domain项目,如图3.1.1所示。

  技术分享

图3.1.1

 

    编写类文件Product.cs

  

技术分享Product

 

 

        

    编写映射文件Product.hbm.xml

  

技术分享Product.hbm.xml

 

 

   然后,将映射文件“Product.hbm.xml”的属性“生成方式”设置为“嵌入的资源”,如图3.1.2所示。

技术分享

图3.1.2

 

 

  3.2 建立名为“NHibernateTest”的项目,如图3.2.1所示

技术分享

图3.2.1

  

  引用程序集“Antlr3.Runtime.dll”,“Iesi.Collections.dll”,“NHibernate.dll”,“Remotion.Data.Linq.dll”,“nunit.framework.dll”,如图3.2.2所示

技术分享

图3.2.2

 

  然后音乐Domain项目,复制并粘贴NHibernate的配置模板到项目中,如图3.2.3所示

技术分享

  图3.2.3

 

  修改该文件的属性为“始终复制

 

技术分享hibernate.cfg.xml

 

 

 

  创建“NHibernateInit.cs”类文件,用于初始化数据库的表结构

 

技术分享NHibernateInit.cs

 

 

  复制proxyfactory类的程序集“LinFu.DynamicProxy.dll”和“NHibernate.ByteCode.LinFu.dll”到项目中,并修改生成方式,如图3.2.4所示

技术分享

图3.2.4

    

  设置项目属性的启动操作,为“启动外部程序”,然后选择NUnit应用程序的路径。如图3.2.5所示。

技术分享

图3.2.5

 

 

  打开SQL Server Management Studio Express,创建名为“NHibernateDemo”的数据库,如图3.2.6

技术分享

图3.2.6

 

  启用NUnit,选择名称“NHibernateTest.dll”的程序集。如图3.2.7所示。接着,点击“run”按钮运行NUnit。

技术分享

图3.2.7

 

  这时,我们再打开数据库,就会发现,NHibernate已经为我们建立了“T_Product”表,如图3.2.8所示。

技术分享

图3.2.8

 

  3.3 编写DAO(数据库访问对象),建立名为“Dao”的项目。如图3.3.1所示。

技术分享

图3.3.1

 

  引用项目所需的程序集,接着编写IProductDao接口和 ProductDao

  

技术分享ProductDao

 

 

  然后在测试项目“NHibernateTest”中编写测试类“ProductDaoTest”。

 

技术分享ProductDaoTest

 

 

  最后运行NUnit测试该项目。效果如图3.3.2所示。

技术分享

  图3.3.2

 

  

  

  好了,一个NHibernate完整的项目就做完了。从中我们可以发现,此应用程序项目没有编写一条SQL语句,就能实现数据的增、删、该、查。

  这样一来,便简化了我们的项目开发。O(∩_∩)O~

NHibernate从入门到精通系列(3)——第一个NHibernate应用程序

标签:

原文地址:http://www.cnblogs.com/jett010/p/4826226.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!