本篇文章的目的:首先是创建解决方案。并创建相关的项目。先介绍一下项目的各自的作用:
从数据库层到表示层依次为:
数据库层:
1、接口IDao层:IDao
2、Dao层实现:HibernateDao和SqlDao
HibernateDao:由Hibernate实现的IDao部分
SqlDao:是由我们自己写sql实现的部分
业务逻辑层:
1、业务逻辑接口层:IBLL
2、业务逻辑接口的实现:BLL
3、我们把Mvc中的Model放到一个单独的项目中:Model
表示层:
就是我们的web项目。至于你想用Extjs等ui框架,那就是看你的选择了。
现在就开始我们的项目旅程。
第一步:
1、新建一个Web Mvc项目。如图所示:
2、然后依次添加类库项目。最终解决方案如下图所示:
解决方案的框架就基本有型了。不过还只是个空架子。下面我们就开始根据数据库表建立Model
在这说 一下,Model在一般的开发中,我们最好将其映射到表。因为这样一来对应于Nhibernate帮我们实现的面向对象的操作数据库就很好实现了【大家自己去体会】。
第二步:
首先看一下我们书库中的表。我准备了一个User表。下面是建表的sql语句:
CREATE TABLE Hksj_User
(
Id INT IDENTITY ( 1 , 1 ) NOT NULL ,
SName NVARCHAR ( 20 ) NOT NULL ,
SNickName NVARCHAR ( 20 ),
SPassWord NVARCHAR ( 30 ) NOT NULL ,
DCreateDate DATETIME ,
SCreator NVARCHAR ( 20 ),
SEmail NVARCHAR ( 50 ),
SPhone NVARCHAR ( 50 ),
SIdentifyId NVARCHAR ( 30 ),
DLastTimeLogOn DATETIME
PRIMARY KEY CLUSTERED
(
Id ASC
) WITH (IGNORE_DUP_KEY = OFF ) ON [ PRIMARY ]
) ON [ PRIMARY ]
END
GO
-- 添加注释
EXEC sys.sp_addextendedproperty @name = N ' MS_Description ' , @value = N ' 登录名 ' , @level0type = N ' SCHEMA ' , @level0name = N ' dbo ' , @level1type = N ' TABLE ' , @level1name = N ' Hksj_User ' , @level2type = N ' COLUMN ' , @level2name = N ' SName '
GO
EXEC sys.sp_addextendedproperty @name = N ' MS_Description ' , @value = N ' 邮箱 ' , @level0type = N ' SCHEMA ' , @level0name = N ' dbo ' , @level1type = N ' TABLE ' , @level1name = N ' Hksj_User ' , @level2type = N ' COLUMN ' , @level2name = N ' SEmail '
数据库截图:
数据库有了,那我们就根据数据库表建立Model模型吧!
在MyWeb.WebTemp.Model中添加类文件:User.cs 代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MyWeb.WebTemp.Model
{
[Serializable]
public class User
{
/// <summary>
/// 用户id
/// </summary>
public Int32 Id
{
get ;
set ;
}
/// <summary>
/// 用户名,登录所用的名字
/// </summary>
public string Name
{
get ;
set ;
}
/// <summary>
/// 真实姓名
/// </summary>
public string NickName
{
get ;
set ;
}
/// <summary>
/// 密码
/// </summary>
public string PassWord
{
get ;
set ;
}
/// <summary>
/// 创建日期
/// </summary>
public DateTime CreateTime
{
get ;
set ;
}
/// <summary>
/// 创建人
/// </summary>
public string Creator
{
get ;
set ;
}
/// <summary>
/// </summary>
public string Email
{
get ;
set ;
}
/// <summary>
/// 联系电话
/// </summary>
public string Phone
{
get ;
set ;
}
/// <summary>
/// 身份证
/// </summary>
public string IdentifyId
{
get ;
set ;
}
/// <summary>
/// 最后一次登录时间
/// </summary>
public DateTime LastTimeLogOn
{
get ;
set ;
}
}
}
注:将User设置为public,原因就不用说了【因为在不同的程序集中引用】
先写到这,你的Model建立好了吗?
文章索引:
搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (一)
搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (二)创建你的项目
搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (三)实现数据库接口层和业务逻辑层
搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (四)配置全攻略