关于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:如果在系统给出的错误提示中确定没有问题,就要对其他问题进行大胆猜测哦~(提示是会骗人滴~)