转:基于NHibernate的三层结构应用程序开发初步 本文并不是去详细的介绍如何使用NHibernate,而是通过一个简单的例子来演示基于NHibernate的三层结构应用程序开发过程。关于NHibernate的有关文档,DDL已经做了汉化,但是由于英文文档自身就不完善,所以汉化后也是不全。菩提树在一篇《NHibernate学习之路》随笔中谈到了学习NHibernate遇到的困难,也希望大家把自己在使用NHibernate中的经验和心得能够共享出来,与大家分享。另外我也是刚开始接触NHiernate,有错误之处还请大家指点。 第一步:准备数据表 在这里用一个最简单的例子,有一张关于的用户的表,有编号,姓名,密码,Email地址和最后一次的登录时间几个字段。 Create Table Users(
LogonID varchar(20) Primary key, Name varchar(40), Password varchar(20), EmailAddress varchar(40) , LastLogon datetime ) 第二步:创建需要被持久化的类 在.NET中创建一个NHibernateWebDemo.Model的工程,添加User实体类。 //User.cs
using System; namespace NHibernateWebDemo.Model { public class User { public User() { } private string id; private string userName; private string password; private string emailAddress; private DateTime lastLogon; public string Id { get { return id; } set { id = value; } } public string UserName { get { return userName; } set { userName = value; } } public string Password { get { return password; } set { password = value; } } public string EmailAddress { get { return emailAddress; } set { emailAddress = value; } } public DateTime LastLogon { get { return lastLogon; } set { lastLogon = value; } } } } 第三步:创建持久化映射文件 该文件的命名为User.hbm.xml,并且与User.cs放在同一个目录里。设置该文件的生成操作属性为“嵌入的资源”,这一点要切记。另外,使用编号当作主键,由用户输入,所以在映射文件中用assigned。 <?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0"> <class name="NHibernateWebDemo.Model.User, NHibernateWebDemo.Model" table="users"> <id name="Id" column="LogonId" type="String" length="20"> <generator class="assigned" /> </id> <property name="UserName" column= "Name" type="String" length="40"/> <property name="Password" type="String" length="20"/> <property name="EmailAddress" type="String" length="40"/> <property name="LastLogon" type="DateTime"/> </class> </hibernate-mapping>
|
||||
|
||||
|
|
|
|