MVC+Nhibernate+spring.net(二)
在上一篇文章中我们已经把数据查了出来,现在我们来完善一下:前台使用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"] ?? "10"); int pageIndex = int.Parse(Request["page"] ?? "1"); int total = 0; IList<Emp> r= bll.GetCustomersList(u=>true); //分页 var tempdata = r.OrderBy(u => u.EmpId) .Skip(pageSize * (pageIndex - 1)) .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