搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (二)创建你的项目

2022-05-10 15:27:40 浏览数 (1)

本篇文章的目的:首先是创建解决方案。并创建相关的项目。先介绍一下项目的各自的作用:

从数据库层到表示层依次为:

数据库层:

         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语句:          

代码语言:javascript复制
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   代码如下:

代码语言:javascript复制
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>
        /// Email
        /// </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建立好了吗?

0 人点赞