1.前端傳遞過來的參數列表對應數據庫的字段名
controller層用map接收
ex更新用戶信息
@RequestMapping(value="update_user_info.do",method=RequestMethod.POST)
@ResponseBody
public ResultCode<Map> update_user_info(HttpSession session,
@RequestParam Map map){
Map user = (Map) session.getAttribute(Const.CURRENT_USER);
if(user==null){
return ResultCode.createByError("用戶未登陸");
}
map.put("id", user.get("id"));//防止越權,id被改變
map.put("username", user.get("username")); //username也不能改變
ResultCode<Map> result =
iUserService.update_user_info(map);//map直接給service調用dao
if(result.isSuccess()){
//如果result返回成功,則將值賦值給session
session.setAttribute(Const.CURRENT_USER, result.getData());
}
return result;
}
2.前端傳遞過來的參數對應數據庫的字段名,如果不傳遞,則有默認值
ex:添加類目
@RequestMapping("add_category.do")
@ResponseBody
public ResultCode add_category(
HttpSession session,
String name,
@RequestParam(value="parent_id",defaultValue="0") Integer parent_id){
Map user = (Map) session.getAttribute(Const.CURRENT_USER);
if(user==null){return ResultCode.createByError("用戶未登陸");}
if(iUserService.checkAdminRole(user).isSuccess()){
return iCategoryService.add_category(name, parent_id);
}else{
return ResultCode.createByError("不是管理員,無權限");
}
}
注意:dao層也可以拆分map,用mybatis註解 @param
Map login(@Param("username")String username, @Param("password")String password);