• 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

  • 相关阅读:
    ZOJ 3876 May Day Holiday 蔡勒公式
    ZOJ 3870 Team Formation 贪心二进制
    ZOJ 3872 计算对答案的贡献
    Codeforces Round #324 (Div. 2)C. Marina and Vasya set
    Jquery前端分页插件pagination使用
    最简单的混合开发教程资料汇总
    最简单的混合开发教程资料汇总
    2018年各大互联网前端面试题二(滴滴打车)
    2018年各大互联网前端面试题二(滴滴打车)
    【福利】小程序开发资源干货汇总
  • 原文地址:https://www.cnblogs.com/pandorabox/p/10151522.html
Copyright © 2020-2023  润新知