转:基于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>
|
||||
|
||||
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
|
|||||||||||||||||
转:基于NHibernate的三层结构应用程序开发初步
Create Table Users(

{

}
}



2007-01-31 12:21
浙公网安备 33010602011771号