zoukankan      html  css  js  c++  java
  • 一个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
  • 相关阅读:
    [转]CentOS安装crontab及使用方法胡益兵
    Cython: CExtensions for Python
    freetds在UBUNTU下的安装
    用python写hiveclient 改善 ITeye技术网站
    Linux下连接MS Sql server 使用ODBC/FreeTDS组合(详细)_徒步旅行者的空间_百度空间
    现代软件构建系统的使用 CMake简介
    The Ex CS Grad Student: Running HQL from Python without using the Hive Standalone Server
    muduo 与 boost asio 吞吐量对比
    cmake与autoconf+automake的对比
    通过枚举返回指定字符结果[有时,好的程序就是一种规范,一种对事物的理解和认识,一种层次]
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2724036.html
Copyright © 2011-2022 走看看