在上一篇文章中我们已经把数据查了出来,现在我们来完善一下:前台使用easyui

首先我们将NHelper类完善一下

  1. public class EmpDal
  2. {
  3. public IList<Emp> GetAll(Expression<Func<Emp,bool>> where)
  4. {
  5. try
  6. {
  7. //开启连接并且打开Isession
  8. using(ISession session = Nhelper.SessionFactory.OpenSession())
  9. {
  10. return session.Query<Emp>().Select(x => new Emp()
  11. {
  12. EmpId=x.EmpId,
  13. EmpName=x.EmpName,
  14. EmpDate=x.EmpDate
  15. }).Where(where).ToList();
  16. }
  17. }
  18. catch (Exception ex)
  19. {
  20.  
  21. throw ex;
  22. }
  23. }
  24. public int Insert(Emp emp)
  25. {
  26. //创建session
  27. using(ISession session = Nhelper.SessionFactory.OpenSession())
  28. {
  29. using(ITransaction transaction = session.BeginTransaction())
  30. {
  31. int i=(int)session.Save(emp);
  32. session.Flush();
  33. transaction.Commit();
  34. return i;
  35. }
  36. }
  37. }
  38. public void Update(Emp emp)
  39. {
  40. using(ISession session = Nhelper.SessionFactory.OpenSession())
  41. {
  42. using(ITransaction transaction = session.BeginTransaction())
  43. {
  44. session.Update(emp);
  45. session.Flush();
  46. transaction.Commit();
  47. }
  48. }
  49. }
  50. public void Delete(int id)
  51. {
  52. using (ISession session = Nhelper.SessionFactory.OpenSession())
  53. {
  54. Emp emp = session.Get<Emp>(id);
  55. session.Delete(emp);
  56. session.Flush();
  57. }
  58. }
  59. public Emp GetByID(int id)
  60. {
  61. using (ISession session =Nhelper.SessionFactory.OpenSession())
  62. {
  63. Emp emp = session.Get<Emp>(id);
  64. return emp;
  65. }
  66. }
  67. }

自己完善一下bll类

现在开始写控制层和ui层

这是现实层的后台代码

  1. public ActionResult GetData()
  2. {
  3. int pageSize = int.Parse(Request["rows"] ?? "");
  4. int pageIndex = int.Parse(Request["page"] ?? "");
  5. int total = ;
  6. IList<Emp> r= bll.GetCustomersList(u=>true);
  7. //分页
  8. var tempdata = r.OrderBy(u => u.EmpId)
  9. .Skip(pageSize * (pageIndex - ))
  10. .Take(pageSize);
  11. var data = new { total = tempdata.Count(), rows = tempdata.ToList() };
  12. return Json(data, JsonRequestBehavior.AllowGet);
  13.  
  14. }

删除的后台代码

  1. public ActionResult Delete(string ids)
  2. {
  3. if (string.IsNullOrEmpty(ids))
  4. {
  5. return Content("请选中要删除的数据!");
  6. }
  7. //正常处理
  8. string[] strIds = ids.Split(',');
  9. List<int> idList = new List<int>();
  10. //批量删除
  11. foreach (var item in strIds)
  12. {
  13. bll.Delete(int.Parse(item));
  14. idList.Add(int.Parse(item));
  15. }
  16.  
  17. return Content("ok");
  18. }

添加的后台代码

  1. public ActionResult Add(Emp emp)
  2. {
  3. bll.Insert(emp);
  4. return View();
  5. }

修改的后台代码

  1. public ActionResult Update(int id)
  2. {
  3. ViewData.Model= bll.GetById(id);
  4. return View();
  5. }
  6. public ActionResult Update(Emp emp)
  7. {
  8. bll.Update(emp);
  9. return Content("修改成功");
  10. }

以上便是mvc——hibernate入门级别的增删查改了,因为这是一套从入门到开发出来一套完整的项目,前面会有些简单,明天开始搭建Spring.Net

MVC+Nhibernate+spring.net(二)的更多相关文章

  1. MVC+Nhibernate+spring.net(三)

    当前层次已经分好 分层架构 画的不是太好啊,后面我会上代码,大家先将就着看吧. 现在开始搭建spring 搭建spring首先引用类库文件: spring.AopSpring.Corespring.W ...

  2. MVC+Nhibernate+spring.net(一)

    所用数据库是我之前所写的Nhibernate入门篇的数据库https://www.cnblogs.com/pandorabox/p/PandoraBox.html 第一步:创建一个mvc项目 第二步: ...

  3. Spring MVC 学习笔记(二)

    6. 视图和视图解析器  ❤  Spring MVC如何解析视图                                  • 请求处理方法执行完成后,最终返回一个ModelAndView对象 ...

  4. [MVC] 深入浅出Spring MVC

    [MVC] 深入浅出Spring MVC 转:http://4925054.blog.51cto.com/4915054/1176855 Spring MVC主要包括以下要点: 1:由Dispatch ...

  5. ASP.NET MVC NHibernate 整合

    请注明转载地址:http://www.cnblogs.com/arhat 在整合这三个技术之前,首先得说明一下整合的步骤,俗话说汗要一口一口吃,事要一件一件做.同理这个三个技术也是.那么在整合之前,需 ...

  6. Asp.net MVC + EF + Spring.Net 项目实践(目录)

    用4篇博客来搭一个MVC的框架,可能对初学者会有一些帮助,大家共勉吧.我觉得对于中小型项目,这个框架可能还是有一定的用处的,希望能够帮助到一些人. Asp.net MVC + EF + Spring. ...

  7. “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第六篇(图片新闻的添加以及带分页的静态页的生成)

    “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第六篇(图片新闻的添加以及带分页的静态页的生成) 一.这篇文章主要是要实现:图片新闻的添加,无刷新图片的上传,以及添加新闻静 ...

  8. “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第四篇(用户管理功能的实现)

    “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第四篇(用户管理功能的实现) 一.前三篇的内容是否对您有帮助呢?如果有的话,请您继续关注这篇吧,这篇主要是实现”用户管理“的 ...

  9. “MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构、登录窗口、以及主界面)

    “MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构.登录窗口.以及主界面) 一.在上一篇文章中,主要说的就是把主框架搭建起来,并且Nhibernate能达到增 ...

随机推荐

  1. 关于SSH中tomcat下中文名称图片不显示的问题

    最近做一个SSH框架的项目,用tomcat发布,需要上传图片到指定路径,然后再将图片显示在页面上.有一个问题:如果是英文名称的图片,就正常显示,可如果是中文的,它就是显示不出来,于是乎,在网上各种百度 ...

  2. Gym - 100735E Restore

    E - Restore 题意:输入一个n,输入一个对角线空缺(为0)的n*n的矩阵,要求每一行每一列和对角线的和相同,输出完整的矩阵. 解法:设每一行的和都是sum,用一个h[]数组存每一行的和.则可 ...

  3. presentation skills

    下面是从一个网站摘录下来的关于presentation skill需要回答的14个问题:网站的地址为:http://www.mindtools.com/pages/article/newCS_96.h ...

  4. iOS知识基础篇--@property,@synthesize, nonatomic,atomic,strong,weak,copy,assign,retain详解

    一.@property 这个关键词的唯一作用就是声明getter.setter方法接口. 二.@synthesize 实现setter.getter方法,找不到实例变量则主动创建一个. 三.nonat ...

  5. 2019.01.13 bzoj1146: [CTSC2008]网络管理Network(整体二分+树剖)

    传送门 题意简述:给一棵树,支持单点修改,询问路径上两点间第kkk大值. 思路: 读懂题之后立马可以想到序列上带修区间kkk大数的整体二分做法,就是用一个bitbitbit来支持查值. 那么这个题把树 ...

  6. 2018.11.07 NOIP训练 lzy的游戏(01背包)

    传送门 考虑对于每次最后全部选完之后剩下的牌的集合都对应着一种构造方法. 一个更接地气的说法: 设消耗的牌数为ttt,如果使用的牌的lll值之和也为ttt,则对应着一种构造方式让这种情形成立. 于是做 ...

  7. 2018.06.27Firing(最大权闭合子图)

    Firing Time Limit: 5000MS Memory Limit: 131072K Total Submissions: 11558 Accepted: 3494 Description ...

  8. (13)How to stay calm when you know you'll be stressed

    https://www.ted.com/talks/daniel_levitin_how_to_stay_calm_when_you_know_you_ll_be_stressed/transcrip ...

  9. 第13章:MongoDB-聚合操作--初体验

    ①MongoDB 的聚合功能 MongoDB 的聚合功能,聚合操作主要用于对数据的批量处理,往往将记录按条件分组以后,然后再进行一系列操作,例如,求最大值.最小值.平均值,求和等操作. 聚合操作还能够 ...

  10. 7-12 How Long Does It Take

    Given the relations of all the activities of a project, you are supposed to find the earliest comple ...