1. 程式人生 > >MVC+Nhibernate+spring.net(二)

MVC+Nhibernate+spring.net(二)

split customer rem ima item derby tempdata skip on()

在上一篇文章中我們已經把數據查了出來,現在我們來完善一下:前臺使用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

MVC+Nhibernate+spring.net(二)