在整合ssm框架时出现BindingException异常
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.ziv.mapper.UserMapper.selectUserPage
百度后找到如下方法
出现这个错误时,按以下步骤检查一般就会解决问题:
- 检查xml文件所在package名称是否和Mapper interface所在的包名一一对应;
- 检查xml的namespace是否和xml文件的package名称一一对应;
- 检查方法名称是否对应;
- 去除xml文件中的中文注释;
- 随意在xml文件中加一个空格或者空行然后保存。
但是经过检查,发现我并没有这些问题,最后找到原因:
我是将mapper.xml文件创建在Java包下的
因此需要在pom文件中添加以下代码,就可以识别xml文件
<build>
<!--识别所有的配置文件-->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
或者直接在resources资源目录下创建mapper.xml文件
注意要保证xml文件的路径与mapper接口的路径保持一致,在resources资源目录下创建时要注意,使用com/ziv/mapper