整合开发系列_第1页
整合开发系列_第2页
整合开发系列_第3页
整合开发系列_第4页
整合开发系列_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. 2011-08-02Spring3MVC,MyBatis,之前写过一篇Spring3MVC+Hibernate的整合,这套架构使用了一段时间后,发现自己对Hibernate的应用程度实在不如人意,看着项目中一堆的sql和hql,决定还是放弃hibernate,转投MyBatis,似乎更适合我这种喜欢灵活控制,习惯了写sl的我。这次打算写一系列关于Spring3MVC+MyBatis+ExtJs3应用开发的文章,这篇算是开头篇吧,还是从咋们最熟悉的登录系统那一幕开始。 persistence:持久层,其中XXMapper.java为interface,XXMapper.xml为sqlmapping配置,两者结合形成web.xml:这个没啥好说的了 这个项目目前完成度,仅仅是完成了登录功能,后续还有人员角色菜单管理等功能,就让我慢慢完善吧,有兴趣的coder,也可以自己尝试完善下系统的功能,然后发帖出来共享交流下。2011-08-06spring3mvc,mybatis,承接上篇Spring3MVC+MyBatis+ExtJs3整合开发系列之一:登录模块演示,本篇增加了菜单加载的功能到本项目中。publicpublicclassMenuimplementsSerializableprivatestaticfinallongserialVersionUID=-privateLongid;privateStringname;privateStringimage;privateStringurl;privateStringqtip;privateIntegersortNum;privateStringdescription;*true:privateprivatebooleanleaf=true;privateList<Menu>children;其中,leaf用来标识主子菜单(同时也是为了配合前端extjstreePanel控件所需的标识),这里true表示为publicclass{publicList<Menu>getMenuListByUserId(Long{Map<String,Object>param=newHashMap<String,Object>();List<Menu>mainMenuList=menuMapper.getMainMenuList(userId);Iterator<Menu>it=mainMenuList.iterator();while(it.hasNext()){Menumenu=LongparentId=menu.getId();param.put("userId",userId);param.put("parentId",parentId);}return}}publicclassUserController{privateUserServiceuserService;privateMenuService@param@parampublic@ResponseBodyMap<String,Object>getTopMenus(HttpServletRequestrequest,HttpServletResponseresponse){Map<String,Object>result=newHashMap<String,Object>(); List<Menu>list=menuService.getMenuListByUserId(user.getId());result.put("success","true");result.put("data",list);returnresult;}spring3mvc封装了json的自动转换,使用@ResponseBody标记下该方法,这样return对象的时候,将自动帮你把普通的pjo对象转成jsn格式的对象.发表时间:2011-08-11关键字:spring3mvchi,boysandgirls,icomebackagain!publicinterfacepublicinterface{LongUserlogin(Map<String,Object>param);List<User>getUserList();voidinsertUser(UservoidinsertUserRole(Map<String,Object>param);voidupdateUser(Useruser);voidupdateUserRole(Map<String,Object>param);voiddeleteUser(Map<String,Object>param);voiddeleteUserRole(Map<String,Object>param);voidchangeUserPassword(Map<String,Object>}<?xml<?xmlversion="1.0"encoding="UTF-<!DOCTYPEmapperPUBLIC"-////DTDMapper3.0//EN"<cache<selectid="getId"resultType="long">SELECTmax(id)+1FROM<selectid="login"parameterType="map"resultType="User">FROMWHEREname=#{name}ANDpassword=<selectid="getUser"parameterType="map"resultType="User">FROM<iftest="id!=id=<iftest="name!=ANDname=<iftest="password!=ANDpassword=<selectid="getUserList"u.idasuser_id,asuser_name,r.idasrole_id,asrole_name,FROMt_userLEFTJOINt_user_roleurON(u.id=ur.user_id)LEFTJOINt_rolerON(r.id=ur.role_id)<resultMap <id column="user_id"<resultproperty="name"<resultproperty="createDate"<collection <id <result <insertid="insertUser"parameterType="User"INSERTINTOt_user(id,name,password,VALUES(#{id},#{name},#{password},INSERTINTOt_user_role(user_id,role_id)VALUES(#{user_id},<updateid="updateUser" UPDATEt_user<iftest="name!=<if<iftest="password!=WHERE UPDATEt_user_roleSETWHERE<delete DELETEFROMt_userWHERE<deleteDELETEFROMt_user_roleWHERE 这里特别说明下xml配置中的"<cache/>"缓存配置项,如果开启了缓存(这里就开启了),需要注意数据的publicclass{privateUserMapperpublicLonggetId()return}@parampublicUserlogin(Map<String,Object>{return}@parampublicUsergetUser(Map<String,Object>{return}return}@param@parampublicvoidinsertUser(Useruser,Map<String,Object>param)StringroleList=(String)param.get("roleList");if(!"".equals(roleList)){}}@param@parampublicvoidupdateUser(Useruser,Map<String,Object>param)}@parampublicvoiddeleteUser(Map<String,Object>{Stringids=(String)param.get("ids");String[]idsArray=ids.split(",");for(inti=0;i<idsArray.length;i++){param.put("id",idsArray[i]);param.put("user_id",idsArray[i]);}}@paramprivatevoidinsertUserRole(Map<String,Object>{StringroleList=(String)param.get("roleList"); for(inti=0;i<roleArray.length;i++){param.put("role_id",roleArray[i]);}}@parampublicvoidchangeUserPassword(Map<String,Object>{}}publicclassUserController{privateUserServiceuserService;privateMenuService@param@param@parampublic@ResponseBodyMap<String,String>loginCheck(HttpServletRequestrequest,HttpServletResponseresponse){Map<String,String>responseMap=newHashMap<String,String>();Stringcaptcha=request.getParameter("captcha");Stringname=Stringpassword=Stringvcode=(String)request.getSession().getAttribute("vcode");if(vcode==null||!captcha.equals(vcode)){responseMap.put("success","false");responseMap.put("inforeturnresponseMap;}try

Map<String,Object>param=newHashMap<String,Object>();param.put("name",name);param.put("password",Useruser=userService.login(param);if(user!=null){responseMap.put("success","true");responseMap.put("info","登录成功!");request.getSession().setAttribute("user",user);returnresponseMap;}else}

responseMap.put("success","false");responseMap.put("inforeturnresponseMap;}catch(Exceptione)responseMap.put("info",e.getClass()+":"+e.getMessage());returnresponseMap;}}@param@parampublic@ResponseBodyMap<String,Object>getMenus(HttpServletRequestrequest,HttpServletResponseresponse){Map<String,Object>responseMap=newHashMap<String,Object>(); List<Menu>list=menuService.getMenuListByUserId(user.getId());responseMap.put("success","true");responseMap.put("data",list);returnresponseMap;}@param@parampublic@ResponseBodyMap<String,Object>getUsers(HttpServletRequestrequest,HttpServletResponseresponse){Map<String,Object>responseMap=newHashMap<String,Object>();List<User>userList=userService.getUserList();responseMap.put("totalCount",userList.size());responseMap.put("rows",userList);return}保存用户信息(新增用户or编辑用户@param@param@parampublic@ResponseBodyMap<String,Object>saveOrUpdate(HttpServletRequestrequest,HttpServletResponseresponse){Map<String,Object>responseMap=newHashMap<String,Object>();Stringid=request.getParameter("id");Stringname=StringroleList=request.getParameter("roleList");try{if(!"".equals(id))Map<String,Object>param=newHashMap<String,Object>();param.put("id",id);Useruser=userService.getUser(param);if(!"".equals(password}param.put("user_id",id);param.put("roleList",roleList);userService.updateUser(user,param);responseMap.put("success","true");responseMap.put("info}elseUseruser=newLongnewId=userService.getId();user.setCreateDate(newDate());Map<String,Object>param=newHashMap<String,Object>(); param.put("roleList",roleList);userService.insertUser(user,param);responseMap.put("method"Create");responseMap.put("success","true");responseMap.put("info}return}catch(Exceptione)responseMap.put("info",e.getClass()+":"+e.getMessage());returnresponseMap;}}@param@parampublic@ResponseBodyMap<String,Object>remove(HttpServletRequestrequest,HttpServletResponseresponse){Map<String,Object>responseMap=newHashMap<String,Object>(); Map<String,Object>param=newHashMap<String,Object>(); tryresponseMap.put("success","true");responseMap.put("inforeturnresponseMap;}catch(Exceptione)responseMap.put("info",e.getClass()+":"+e.getMessage());returnresponseMap;}}@param@parampublic@ResponseBodyMap<String,Object>changePassword(HttpServletRequestrequest,HttpServletResponseresponse){Map<String,Object>responseMap=newHashMap<String,Object>(); StringnewPassword=request.getParameter("newPassword");Useruser=(User)request.getSession().getAttribute("user");try{//验证通过,允许修改密码if(oldPassword.equals(user.getPassword())){Map<String,Object>param=newHashMap<String,Object>();param.put("id",user.getId());param.put("newPassword",newPassword);request.getSession().setAttribute("user",user);responseMap.put("success","true");r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论