1、 set; public virtual string Name get;public virtual string Password get;public virtual string EmailAddress get;public virtual DateTime LastLogon get;2 User.hbm.xml文件的作用是映射刚才定义的字段的属性,代码如下:xmlversion=1.0encoding=utf-8 ?idpropertyname=NameString(40/PasswordEmailAddressLastLogonDateTimeclasshibernate-ma
2、pping注:解说这段代码的内容1 这段代码就是使用NHibernate必须有的代码,定义了NHibernate的版本信息。2 ,name定义了所要映射的类,table定义了要映射的数据库中的表,lazy定义了是否要延迟加载,如果是默认值的话lazy=”true”,是延迟加载,这样的话需要在定义的类字段中加入Virtual,而lazy=”true”则不用延迟加载,立即执行。并且类字段中可写可不写。3 这段代码的作用是被映射的类必须定义对应数据库的表主键字段,name标识属性的名字,Type标识Hibernate类型的名字,column标识主键的名字,这三个属性都是可选的,可选的generato
3、r子元素是一个Java类的名字,用来为该持久化类的实例生成唯一的标识,如果这个生成器实例需要某些配置值或者初始化参数,用param元素来传递。class=”assigned”的意思就是让应用程序在save(之前为对象分配一个表示符,这是generator元素没有指定时的默认生成策略。4 3. 第三步 MVC中建立项目,引入命名空间(1 在MVC项目下面添加文件夹DLL,将我们需要的一些NHibernate的dll(文件类库添加到这里,供我们引用。如图所示:4. 第四步 实现Model层的逻辑(1 然后操作MVC层的Model层实现的功能如下:先在Model层地下建立2个文件夹和一个类,在各个文
4、件夹下面在建立自己的类,建立完成之后如图所示:然后编程实现各个类中的功能,我们每个类的代码都说一遍。1 操作接口类IUsers,在这里就需要引入命名空间using COM.Entities;,代码如下:publicinterface IUsers /定义接口类IUsers/获取所有的用户List GetAll(;/更新用户bool UpdateUser(Users u;/添加用户bool AddUser(Users u;/删除用户bool DelUser(Users u;/使用唯一的标识查询实体集/标识Users SelOne(string id;2 接下去来在MockModel文件夹下面的U
5、serServices类中实现IUsers接口类的方法,需要用到NHibernate,所以引入操作NHibernate的命名空间及代码:using NHibernate实现简单的增删改查.Models.Interfaces;using COM.Entities;using NHibernate.Cfg;using NHibernate;using System.Collections;/ NHibernate操作数据库的地方public class UsersService:IUsers/获得所有的用户信息public List GetAll(var cfg = new Configurati
6、on(;cfg.AddAssembly(COM.Entities;ISessionFactory factory = cfg.BuildSessionFactory(;ISession session = factory.OpenSession(;IList userList = session.CreateCriteria(typeof(Users.List(; list = new List(;foreach (Users item in userListlist.Add(item;return list;/更新用户public bool UpdateUser(Users uUsers e
7、Users = (Userssession.Load(typeof(Users, u.LogonId;/使用事务来操作数据库ITransaction transaction = session.BeginTransaction(;eUsers.Name = u.Name;eUsers.Password = u.Password;eUsers.EmailAddress = u.EmailAddress;eUsers.LastLogon = DateTime.Now;transaction.Commit(;session.Flush(; /清理缓存,执行SQLreturn false;/删除用户p
8、ublic bool DelUser(Users uvar cfg=new Configuration(; /程序集的添加ISessionFactory factory=cfg.BuildSessionFactory(;ISession session=factory.OpenSession(;ITransaction transaction=session.BeginTransaction(;session.Delete(u;return true;/添加用户public bool AddUser(Users utrysession.Save(u;session.Close(;catch/使
9、用唯一标识查询实体/标识ID/ 返回Users实体public Users SelOne(string idvar u = (Userssession.Load(typeof(Users, id; / session.Load(根据指定的实体类或者ID从数据库中读取数据并返回与之对应的实体对象return u;3 最后实现ServiceBuilder.cs类的方法使其能够返回UserService类的方法,引入命名空间和代码的编写如下:usingNHibernate实现简单的增删改查.Models.Interfaces;usingNHibernate实现简单的增删改查.Models.MockM
10、odels;publicsealed class ServiceBuilder /sealed 修饰符可以应用于类、实例方法和属性。密封类不能被继承。密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写。public static IUsers BuildUsersService(return new UsersService(;5. 第五步 实现MVC层的HomeController类(1 接下来实现MVC三层架构中的Controler层的业务逻辑,在HomeControler类中引入命名空间和代码是:using NHibernate实现简单的增删改查.Models;using
11、COM. Entities;HandleErrorpublic class HomeController : Controllerpublic ActionResult Index(IUsers iuser = ServiceBuilder.BuildUsersService(;ViewDataUsersInfor = iuser.GetAll(;return View(Indexpublic ActionResult OperationUser(String textId = Request.FormText_ID;String textUserName = Request.FormText
12、_UserNameString textPassword=Request.FormText_PasswordString emailAddress = Request.FormText_EmailAddressDateTime lastLogon = DateTime.Now;string operationT = Request.FormoperationTvar u = new UsersLogonId = textId,Name = textUserName,Password = textPassword,EmailAddress = emailAddress,LastLogon = l
13、astLogon;2010年全国高校市场营销大赛实施方案为确保参加2010年全国高职高专市场营销案例大赛ViewData全国高校市场营销大赛是由中国市场学会、教育部考试中心、教育部高等学校高职高专工商管理类专业教学指导委员会面向全国高职院校工商管理类大学生联合主办的营销实践技能竞赛活动。 二、参赛目的elseAddSuccess = Noif (operationT.Equals(长:郭荣森成 员:陈舒平(指导老师)、;string strU = LogonId: + rU.LogonId + ,Name + rU.Name + Password + rU.Password + EmailAddress四、参赛具体工作安排(一)学校预选赛日程安排return Content(strU;4月3if (operationT.Equals(DelOne12日,向2008级市场开发与营销专业学生公布“20103、4月13日,各班组建参赛小组,并按要求提交分组名单 iusersAll = ServiceBuilder.BuildUsersService(; = iusersAll.GetAll(;对参赛队参赛作品提出初审意见和修改意见 About(5、4月206. 第6步(1 最后修改配置文件Web.Config的代码如下:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1