MVC+Nhibernate+spring.net(二)

时间:2023-03-08 20:25:53

在上一篇文章中我们已经把数据查了出来,现在我们来完善一下:前台使用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); }

MVC+Nhibernate+spring.net(二)

删除的后台代码

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