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

首先我们将NHelper类完善一下

public class EmpDal
{
public IList<Emp> GetAll(Expression<Func<Emp,bool>> where)
{
try
{
//开启连接并且打开Isession
using(ISession session = Nhelper.SessionFactory.OpenSession())
{
return session.Query<Emp>().Select(x => new Emp()
{
EmpId=x.EmpId,
EmpName=x.EmpName,
EmpDate=x.EmpDate
}).Where(where).ToList();
}
}
catch (Exception ex)
{ throw ex;
}
}
public int Insert(Emp emp)
{
//创建session
using(ISession session = Nhelper.SessionFactory.OpenSession())
{
using(ITransaction transaction = session.BeginTransaction())
{
int i=(int)session.Save(emp);
session.Flush();
transaction.Commit();
return i;
}
}
}
public void Update(Emp emp)
{
using(ISession session = Nhelper.SessionFactory.OpenSession())
{
using(ITransaction transaction = session.BeginTransaction())
{
session.Update(emp);
session.Flush();
transaction.Commit();
}
}
}
public void Delete(int id)
{
using (ISession session = Nhelper.SessionFactory.OpenSession())
{
Emp emp = session.Get<Emp>(id);
session.Delete(emp);
session.Flush();
}
}
public Emp GetByID(int id)
{
using (ISession session =Nhelper.SessionFactory.OpenSession())
{
Emp emp = session.Get<Emp>(id);
return emp;
}
}
}

自己完善一下bll类

现在开始写控制层和ui层

这是现实层的后台代码

 public ActionResult GetData()
{
int pageSize = int.Parse(Request["rows"] ?? "");
int pageIndex = int.Parse(Request["page"] ?? "");
int total = ;
IList<Emp> r= bll.GetCustomersList(u=>true);
//分页
var tempdata = r.OrderBy(u => u.EmpId)
.Skip(pageSize * (pageIndex - ))
.Take(pageSize);
var data = new { total = tempdata.Count(), rows = tempdata.ToList() };
return Json(data, JsonRequestBehavior.AllowGet); }

删除的后台代码

public ActionResult Delete(string ids)
{
if (string.IsNullOrEmpty(ids))
{
return Content("请选中要删除的数据!");
}
//正常处理
string[] strIds = ids.Split(',');
List<int> idList = new List<int>();
//批量删除
foreach (var item in strIds)
{
bll.Delete(int.Parse(item));
idList.Add(int.Parse(item));
} return Content("ok");
}

添加的后台代码

public ActionResult Add(Emp emp)
{
bll.Insert(emp);
return View();
}

修改的后台代码

  public ActionResult Update(int id)
{
ViewData.Model= bll.GetById(id);
return View();
}
public ActionResult Update(Emp emp)
{
bll.Update(emp);
return Content("修改成功");
}

以上便是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. Longest Turbulent Subarray LT978

    A subarray A[i], A[i+1], ..., A[j] of A is said to be turbulent if and only if: For i <= k < j ...

  2. mysqldb mysql_config

    在安装mysqldb Python的时候会用到mysql_config,但是正常安装的MySQL环境下是没有这个文件的,这个文件在Linux下是可执行文件,所以需要到mysql官方网站上下载MySQL ...

  3. day09作业—函数进阶

    # 2.写函数,接收n个数字,求这些参数数字的和.(动态传参) def func1(*args): sum = 0 for i in args: sum += i print(sum) func1(1 ...

  4. 【转】使用PHP导入和导出CSV文件

    项目开发中,很多时候要将外部CSV文件导入到数据库中或者将数据导出为CSV文件,那么具体该如何实现呢?本文将使用PHP并结合mysql,实现了CSV格式数据的导入和导出功能.我们先准备mysql数据表 ...

  5. JS如何创建对象

    js创建对象的方法很多,以下分别介绍

  6. visual studio的试用版评估期已结束 解决办法

    启动visual studio 2008后显示对话框:visual studio的试用版评估期已结束.下面有两个按钮,点第一个链接到微软网页,第二个直接关闭.虽然大多数高手已经知道如何解决,但对菜鸟来 ...

  7. Codeforces Round#415 Div.2

    A. Straight «A» 题面 Noora is a student of one famous high school. It's her final year in school - she ...

  8. ArcGIS API for Silverlight部署本地地图服务

    这一节我们来讲新建立的ArcGIS API for Silverlight应用程序如何加载自己的地图服务的问题,网上的资料讲的都有点含糊不清,这次我们详细的讲一下配置的步骤: 首先介绍下我们的开发和部 ...

  9. 如何批量下载网站中的超链接(一次性下载网页中所有可能的PDF文件)

    最近公司在做工程项目,实现文件批量下载. 网上找了很久,发现网上的代码都有相似的问题,不过最终还是让我找到了一个符合的项目. 工程: 进行项目文件下载功能分析,弄清楚文件批量下载的原理,提供的数据支持 ...

  10. mysql 数据类型及java对应关系

    http://www.cnblogs.com/jerrylz/p/5814460.html    Java数据类型和MySql数据类型对应表 http://www.cnblogs.com/yiwd/p ...