关于sql语句引发的404错误

今天分享个小问题,也是今天在项目中遇到的,希望对遇到相关问题的朋友有所帮助。

使用工具:(相关的)

  mybatis,spring-mvc,mysql

问题原因:

  我在mybatis的mapper文件中有如下配置: 

<select id="doupdateState">
update tms_projects
set valid=#{valid}
where id in
<foreach collection="#{ids}" open="("
close=")" separator="," item="item">
#{item}
</foreach>
</select>

 在console中的错误提示信息是:

    404,定义页面未找到

检查过程:

  然后我仔细检查了我的Contorller中的代码:

@RequestMapping("dopageStartObject")
@ResponseBody
public JsonResult dopageStartObject(
Integer valid, String checkedids) {
service.doValidById(valid, checkedids);
return new JsonResult("ok");
}

  当让在当前bean上我也写了@RequestMapping("/project/")

我访问路径为:

  $.post("project/doFindObjects.do",params,function(result){});

最终结果:

  虽然很痛苦,单经过2小时我还是把问题纠正出来了。给到我的错误提示信息404是具有误导性的。是由于我的Mapper中的<foreach collection="#{ids}" 引发的。

  由于#{ids} 并没有取到具体指而引发的。将其改为ids就OK了~~~

  希望对遇到类似问题的朋友能有所帮助吧~

PS:如果在系统给出的错误提示中确定没有问题,就要对其他问题进行大胆猜测哦~(提示是会骗人滴~)

posted @ 2017-09-06 16:14  行走—舒  阅读(373)  评论(0编辑  收藏  举报