今天在写SpringBoot整合MyBatis Plus项目的时候,发现找不到我写在xml文件中的sql语句,提示内容:
org.apache.ibatis.binding.BindingException:
Invalid bound statement (not found): xxx.SalaryMapper.getByType
此时,在target文件夹中可以看到xml文件
然后我就忽略了检查在配置文件(application.properties)中配置的扫描路径
最后发现是路径填写错误的问题
右键单击mapper文件,然后选择copy——Path From Source Root,复制路径
然后写到配置文件中:
问题就解决啦。
如果要保证配置完全正确,还有以下几个地方要注意的地方:
1、xml文件中namespace
和resultMap
,建议采用复制的方式
namespace——指定Mapper接口。
resultMap —— 映射类,指定VO类或者实体类。
PS:
查询多个值用 resultMap指定映射类。
查询单个值用 resultType指定返回类型。
2、除了在配置文件中配置mapper xml文件的路径之外,还需要在启动类上面配置包扫描路径
3、在pom.xml的build
标签内配置 不过滤配置文件
(maven工程在默认情况下不会将src/main/java目录下的文件发布到target目录下)
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>*.properties</include>
<include>*.xml</include>
</includes>
</resource>
</resources>
</build>