“MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第一篇
一、第一篇内容中必须得简单的介绍一下MVC(在大学时用的是WebForm,拖控件感觉很爽,但是工作后,技术总监让一定要放弃这种 想法!)
1、MVC是什么?:(1) ASP.NET MVC是微软官方提供的MVC模式编写ASP.NET Web应用程序的一个框架
(2) MVC是微软继ASP.NET WebForms后的有一种开发方式,并非替代方式!
2、与WebForm的比较之后的好处:
(1) 关注点分离
(2)高可扩展性
(3)更好的可测试性
(4)更好的URL重写
(5)更好的性能
(6)更加灵活的HTML代码控制
(7)没有ViewState(这个在WebForm中很可怕,右键查看源代码之后,晕了....)
3、其实好处不止这些,概念性的东西没必要过多的解释,园子里好多文章.....
二、上篇的文章也提到,与数据库的交互用的是Nhibernate,大家一定不陌生吧,一种ORM的思想,还有你们熟悉的EF、FluntNibernate,写完这篇会写个小的Demo,里面就包括NHibernate、EF中的CodeFirst(先写Model类,接着Db<Set>,前台数据绑定之后,打开数据库,就会发现生成一个带类似这样:项目名.Contenxt的数据库)仅供初学者学习。
1、在项目中添加了一个NHibernateHelper类,其中方法包括像GetSession()这个方法返回的是ISession。
项目中得安装Nugget包,Install-package Nhibernate 添加这个引用


2、添加完之后:
(1)往项目中添加MSSql.cfg.xml(“目录在\packages\NHibernate.3.3.1.4000\ConfigurationTemplates”)
但要改名为hibernate.cfg.xml 右键属性:无,如果较新则复制。
(2)添加XML,举一个实体的例子来说,如:Product.Hbm.xml,右键属性:不复制,嵌入的资源。
(3)如果想要智能提示的话,在Product.Hbm.xml代码中右键属性:架构添加:nhibernate-configuration.xsd和nhibernate-mapping.xsd
(4)上面说的这些配置都是NHbiernate基础性的东西,建议看看“李永京”的博客。http://www.cnblogs.com/lyj/
(5)现在可以建立一个NHibernateHelper类,建议在(TianxinWeb.Webs.Common)项目的目录在下面。但是记住:得在hibernate.cfg.xml中添加<mapping assembly="项目名称"/>
//返回ISession
public static ISession GetCurrentSession()
{
//第一种方式:(不灵活,只能对于一个实体类控制)
//var cfg = new Configuration().Configure().AddAssembly(typeof(Product).Assembly); //推荐使用第二种方式:
//注意:在hibernate.cfg.xml中添加<mapping assembly="MvcApplication1"/>
var cfg = new Configuration().Configure();
var sessionFactory = cfg.BuildSessionFactory();
return sessionFactory.OpenSession();
}
(6)现在增删改查就都可以实现了。自己一定要试试,可以结合事务进行操作,还是建议看看“李永京”的博客。
3、添加四个个类库和一个MVC项目,分别是:TianxinWeb.Webs.BLLs、TianxinWeb.Webs.Common、TianxinWeb.Webs.Models、 TianxinWeb.Webs.Repositories和TianxinWeb.Webs.Webs。这四个类库的作用,前一篇文章已经说过,看命名也知道个大概。
4、在TianxinWeb.Webs.Webs里添加jquery-easyui-1.3.2、还有常用的Ckediter编辑器,ZTree(后面讲到的”用户权限分配“用的就是它)在官网上下载就行,添加到项目中。


三、总结:
1、重点:一定要自己测试一下Nhibernate的功能,是否能增删改查影响到数据库,先把这个问题解决了,上面介绍的也挺清楚,如果实在调试不行,请 留言,帮你看看。
2、大体框架建起来了,媳妇打电话让回家吃饭了,也真有点饿了。呵呵。先写到这里吧,请朋友们继续关注下一篇文章。
“MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第一篇的更多相关文章
- “MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构、登录窗口、以及主界面)
“MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构.登录窗口.以及主界面) 一.在上一篇文章中,主要说的就是把主框架搭建起来,并且Nhibernate能达到增 ...
- “MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构、登录窗口、以及主界面)
一.在上一篇文章中,主要说的就是把主框架搭建起来,并且Nhibernate能达到增删改查的地步.测试好之后再来看这篇文章,我的主框架相对来说简答一点,重点还是实现系统的功能,以及对Jquery-Eas ...
- MVC+Nhibernate+jquery+easyui递归实现多级菜单
1.新建访问的控制器动作返回视图,在视图中使用easyui的treegrid插件来得到后台得到的json数据显示多级菜单 public ActionResult Menu() { return Vie ...
- 完成一个MVC+Nhibernate+Jquery-EasyUI信息发布系统
一.最近学习了Jquery-EasyUI框架,结合之前用过的MVC3+Nhibernate做一个信息发布系统,对工作一年半的自己做一个总结吧!(也正好 供初学者学习!) 二.先上截图(系统简介),让大 ...
- “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第六篇(图片新闻的添加以及带分页的静态页的生成)
“MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第六篇(图片新闻的添加以及带分页的静态页的生成) 一.这篇文章主要是要实现:图片新闻的添加,无刷新图片的上传,以及添加新闻静 ...
- “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第四篇(用户管理功能的实现)
“MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第四篇(用户管理功能的实现) 一.前三篇的内容是否对您有帮助呢?如果有的话,请您继续关注这篇吧,这篇主要是实现”用户管理“的 ...
- 年底小回顾(MVC+NHibernate+Jquery+JqueryUI——网站)
1.附:利用MVC+NHibernate+Jquery+JqueryUI这些技术可以做出一个比较好的前台+后台网站.下面是本人对这些技术的笔记,作为私人年底小结吧.呵呵 好久没写文章了,感觉下不了笔吐 ...
- MVC 使用Jquery EasyUI分页成功
先上图吧
- 第一章使用JSP/Server技术开发新闻发布系统第一章动态网页开发基础
一:为什么需要动态网页 由于静态网页的内容是固定的,不能提供个性化和定制化得服务,使用动态网页可真正地与用户实现互动. 二:什么是动态网页 ①:动态网页是指在服务器端运行的,使用程序语言设 ...
随机推荐
- AWS:4.VPC
主要介绍 1.Amazon混合云 2.将EC2加入VPC 3.VPC经典场景 4.VPC安全保障 Amazon混合云 : 在公有云的基础上创建私有云 VPC概念 VPC(VPC Virtual Pri ...
- django使用自己的setting的方法
创建一个自己的setting xxx.setting export DJANGO_SETTINGS_MODULE="xxx.setting" 然后在项目中import原生的sett ...
- js为Object对象动态添加属性和值 eval c.k c[k]
const appendInfo = () => { const API_SECRET_KEY = 'https://github.com/dyq086/wepy-mall/tree/maste ...
- 点聚-weboffice 6.0 (三)
1.页面 var filename="<%=request.getParameter("filePath").toString()%>"; docu ...
- 我的Android进阶之旅------>Android资源文件string.xml中\u2026的意思
今天看了一个string.xml文件,对其中的一行代码中包含的\u2026不是很理解,后来查阅资料后发现了其中的意思. 代码如下: <resources xmlns:xliff="ur ...
- 顽石系列:Java技术面试
顽石系列:Java技术面试 JDBC相关 1.Statement与PreparedStatement的区 别,什什么是SQL注⼊入,如何防⽌止SQL注⼊? PreparedStatement支持动态设 ...
- Win8+VS2012 配置OpenGL SuperBible5 环境
(1)glew: 版本:1.7.0-win32 下载地址:https://sourceforge.net/projects/glew/files/glew/ 安装步骤: 将include文件夹下的.h ...
- nodejs中的子进程,深入解析child_process模块和cluster模块
Node.js的进程管理 node遵循的是单线程单进程的模式,node的单线程是指js的引擎只有一个实例,且在nodejs的主线程中执行,同时node以事件驱动的方式处理IO等异步操作.node的 ...
- iOS开发 - 如何跳到系统设置里的各种设置界面
在iOS开发中,有时会有跳转系统设置界面的需求,例如提示用户打开蓝牙或者WIFI,提醒用户打开推送或者位置权限等.在iOS6之后,第三方应用需要跳转系统设置界面,需要在URL type中添加一个pre ...
- Zabbix数据库清理历史数据
Zabbix清理历史数据 Zabbix是个很好的监控软件,随着公司监控项目越来越多,数据越来越多,zabbix负载重,可能造成系统性能下降. Zabbix里面最大的表就是历史记录表,history,h ...