时间:2017-12-21
异常:Invalid bound statement (not found)
情景:添加一个语句到mapper.xml中,部署项目后直接报错了,所有的mapper方法都不可用
原因:
在网上找了很多的贴子、博客,大多说的原因无非是配置的XML路径对不上、mapper映射的dao没有写入对应的方法、sql语法有问题、存在中文影响等等。一个个排查过去还是不能解决我的问题。最后,我发现自己写的方法返回值有问题:resultMap。我将resultMap改为resultType就可以了。
所以,如果返回值并非是xml中配置好的map,就用resultType作为返回值就可以了。
代码:
MenuListMapper.xml
<select id="countbyMenuId" parameterType="java.lang.Short" resultType="java.lang.Integer">
select
count(*)
from
eh_security_menu_table
where
parent_menu_id = UPPER(#{menuId,jdbcType=DECIMAL})
</select>
MenuListMapper.java
public interface MenuListMapper {
int countbyMenuId(Short menuId);
}