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"] ?? "");
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(二)的更多相关文章
- MVC+Nhibernate+spring.net(三)
当前层次已经分好 分层架构 画的不是太好啊,后面我会上代码,大家先将就着看吧. 现在开始搭建spring 搭建spring首先引用类库文件: spring.AopSpring.Corespring.W ...
- MVC+Nhibernate+spring.net(一)
所用数据库是我之前所写的Nhibernate入门篇的数据库https://www.cnblogs.com/pandorabox/p/PandoraBox.html 第一步:创建一个mvc项目 第二步: ...
- Spring MVC 学习笔记(二)
6. 视图和视图解析器 ❤ Spring MVC如何解析视图 • 请求处理方法执行完成后,最终返回一个ModelAndView对象 ...
- [MVC] 深入浅出Spring MVC
[MVC] 深入浅出Spring MVC 转:http://4925054.blog.51cto.com/4915054/1176855 Spring MVC主要包括以下要点: 1:由Dispatch ...
- ASP.NET MVC NHibernate 整合
请注明转载地址:http://www.cnblogs.com/arhat 在整合这三个技术之前,首先得说明一下整合的步骤,俗话说汗要一口一口吃,事要一件一件做.同理这个三个技术也是.那么在整合之前,需 ...
- Asp.net MVC + EF + Spring.Net 项目实践(目录)
用4篇博客来搭一个MVC的框架,可能对初学者会有一些帮助,大家共勉吧.我觉得对于中小型项目,这个框架可能还是有一定的用处的,希望能够帮助到一些人. Asp.net MVC + EF + Spring. ...
- “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第六篇(图片新闻的添加以及带分页的静态页的生成)
“MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第六篇(图片新闻的添加以及带分页的静态页的生成) 一.这篇文章主要是要实现:图片新闻的添加,无刷新图片的上传,以及添加新闻静 ...
- “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第四篇(用户管理功能的实现)
“MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第四篇(用户管理功能的实现) 一.前三篇的内容是否对您有帮助呢?如果有的话,请您继续关注这篇吧,这篇主要是实现”用户管理“的 ...
- “MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构、登录窗口、以及主界面)
“MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构.登录窗口.以及主界面) 一.在上一篇文章中,主要说的就是把主框架搭建起来,并且Nhibernate能达到增 ...
随机推荐
- AX_Args
Args args; FormRun formRun; ; args = new Args(); args.name(formstr(FormName)); args.caller(); args.r ...
- Windows8.1,IIS,WCF
在.NET 4中用IIS部署WCF就这么简单 http://www.cnblogs.com/dudu/archive/2011/01/18/1938490.html win8.1怎么安装iis htt ...
- json(原生态)
什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 * JSO ...
- 使用delphi 10.2 开发linux 上的Daemon
delphi 10.2 支持linux, 而且官方只是支持命令行编程,目地就是做linux 服务器端的开发. 既然是做linux服务器端的开发,那么普通的命令行运行程序,然后等待开一个黑窗口的方式就 ...
- hashable/iterable与orderable
################ # hashable协议 # ################ # 一个对象能被称为hashable,它必须实现__hash__与_eq__方法: >>& ...
- 二叉搜索树、AVL平衡二叉搜索树、红黑树、多路查找树
1.二叉搜索树 1.1定义 是一棵二叉树,每个节点一定大于等于其左子树中每一个节点,小于等于其右子树每一个节点 1.2插入节点 从根节点开始向下找到合适的位置插入成为叶子结点即可:在向下遍历时,如果要 ...
- PHP上传文件参考配置大文件上传
PHP用超级全局变量数组$_FILES来记录文件上传相关信息的. 1.file_uploads=on/off 是否允许通过http方式上传文件 2.max_execution_time=30 允许脚本 ...
- npp 文本编辑器 开源
下载地址 https://notepad-plus-plus.org/download/v6.8.4.html
- Ng第十五课:异常检测(Anomaly Detection)
15.1 问题的动机 15.2 高斯分布 15.3 算法 15.4 开发和评价一个异常检测系统 15.5 异常检测与监督学习对比 15.6 选择特征 15.7 多元高斯分布(可选) 15 ...
- Ng第三课:线性代数回顾(Linear Algebra Review)
3.1 矩阵和向量 3.2 加法和标量乘法 3.3 矩阵向量乘法 3.4 矩阵乘法 3.5 矩阵乘法的性质 3.6 逆.转置 3.1 矩阵和向量 如图:这个是 4×2 矩阵,即 4 行 ...