关于SSM中的Controller传递参数的类型的问题

来源:互联网 发布:关于走心的文案 知乎 编辑:程序博客网 时间:2024/05/22 12:25

 在SSM项目中如果你想利用mybatis进行搜索结果的话,参数并不一定都要穿进去,才能查询结果,有时候我想利用一个参数得到一个集合,或者利用另一个参数得到一个对象,那么在声明变量的时候最后利用对象的形式进行声明变量,例如:

 @RequestMapping(value="/searchProduct")
@ResponseBody
public ServerResponse<PageInfo> searchProduct(HttpSession session,String productName,Integer productId,@RequestParam(value="pageNum",defaultValue="1") int pageNum,@RequestParam(value="pageSize",defaultValue="10") int pageSize){
//检查用户登录状态
User user = (User)session.getAttribute(Const.CURRENT_USER);
if(user == null){
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(),"您还未登录,请先登录");
}
if(userServer.check_admin_role(user).isSuccess()){
return  productServer.searchProductByNameAndId(productName,productId,pageNum,pageSize);
}else{
return ServerResponse.createByErrorMessage("请以管理员身份登录");
}
 
}

第二个参数就就比较适宜用包装类型将int类型 的参数包装成Integer类型的参数

传递到mybatis mapper.xml可以有效的判断其是否为空,如果是int类型的话回报空指针异常