一个NHibernate的小应用

前言:已经好久没有写了,只发表了一个文章,后面生病了,住院了很久,就休息了很长时间。现在把前面的那个文章完善。让读者们能看到一个基本的操作。今天文章包括基本的增删改查,一对一的使用,一对多的使用。多对一的使用。下次文章写一级二级缓存。

一:数据库文件:包括四个表,一个学生表,一个班级表,一个课程表,一个学生课程的中间表如图:

其中学生表字段有(SId:主键;SNam:姓名;SCId(对应班级表的主键):班级Id),班级表(CId:主键;CName:班级名称),课程表(SubID:主键;SubNme)中间表(RId:主键;SId:对应学生主键;SubId:课程表主键)注:其中的主键都是自动增长的(自动增长+1)

二:项目开始,打开VS2010,新建一个ASP.NET应用程序取名字NHApp

如图:

一个ASP的应用程序启动了。然后引用所需的DLL加载到程序中,这些基本的第一篇文章已经说过了,不知道可以去看看,比较简单。如图:

添加引用就不用说了的。每个dll的作用在第一篇文章有说的。

然后配置文件了,打开web.config文件,如图:

关于配置文件的作用第一篇文章说的非常详细了,大家可以去看看的。

好了基本都搞定了。现在我们就基本的小试一下了,添加一个webform页面叫ClassesList.aspx页面。添加一个页面就要该类的序列化类了。我们添加叫Claseees类,拼言错了,我的VS写成这养了。代码:

View Code

然后添加一个名字为Claseees.hbm.xml的xml文件。如图:

上面的bag标签被我删除了。等下要用到,那个解释忘记删除掉了。

然后就可以使用了,打开ClassesList.aspx页面,添加一个Repeater控件:写入后台代码:如下:

Repeater控件的使用大家应该都会的吧。代码看懂应该不是问题的。附上后台代码:如下:

这里就能把所有的班级给显示出阿里了,页面运行效果如下:

好了。这是最基本的显示了。我们下来新建一个StudentList.aspx页面用来查看所有的学生。也要添加一个Student类,一个xml文件。如图:

Student:

Student.hbm.xml文件:

StudentList.aspx的前台文件:

StudentList.aspx文件的后台文件:

View Code

好了,展示数据搞定了,用到了多对一的节点。我们现在来看看一对多的情况,也就是一个班级有好多学生,在前面的ClassesList.aspx页面上加了查看的按钮,我们的使用是你点击进去,显示该班级信息,把所有的学生都有显示出来!!!!!!!!!我们添加两个文件夹如图:

其中ClassManger用来班级表的增删改查,那个文件夹是学生表的增删改查

我们在ClassManger文件夹加入一个名为ClassesSingle.aspx的页面用来显示上面所说的用途:

前台页面一个Repeater控件.如图:

后台代码:

在这里添加之前把前面那个Classes类中  //private IList<Student> _list;
        //一个班级可以拥有好多学生的,所以这里使用IList<Student>来装载好多好多的学生,多余配置文件就是使用一对多来标签来说明,我们去看配置文件吧。
     //   public virtual IList<Student> List
    //    {
          //  get { return _list; }
         //   set { _list = value; }
      //  }//现在用不动啊,大家不用看的。

这段被我解释掉了的代码给去注释。

完整的Claseees.cs的代码如下:

View Code

ClassesSingle.aspx的后台文件代码:

View Code

好了大概的基本就这么多的了,等下把源代码发上来包括数据库文件。StudentManger文件下就是增加删除,更新什么的。那个大家下载源代码可以自己去看看的。

我没有找到上传源代码的按钮。。。。。。。。。。。。。。。。在那里啊????

放在115里面了,大家下载吧。地址http://115.com/file/e7g23xmy#NHApp.rar

感谢大家的观看。

By 龟龟爱我你

      DateTime:2012年10月12日   20:28

End。。。。。。。。。。

  

 
 
标签: Nhibernate
原文地址:https://www.cnblogs.com/Leo_wl/p/2724036.html