解决方案:Invalid bound statement (not found)

今天构建ssm项目的时候发现了一个问题

1
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.dao.BookMapper.queryBookByID

也就是说,spring根本就找不到dao层的这个东西

开始排查问题:

找了一下网上的文档,

1、dao层的xml文件里面的id是否写错,和接口处的不一样?

029_001.jpg

2、找到project Structure的Module选项,看看是否把xml添加到一个环境下

029_002.jpg

3、(我的错误点)千想万想,竟然没想到是maven的问题,因为在resource目录里配置了db.properties,所有应该设置静态资源的导出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!--静态资源导出-->
<!-- 在build中配置resources,来防止我们资源导出失败的问题-->
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>

解决方案:Invalid bound statement (not found)
https://yiyuwang.be/2021/03/26/2021-03-26-360205294/
作者
StevenWong
发布于
2021年3月26日
许可协议