今天敲项目,发现自己编写的sql语句不能用,即报错找不到我定义的实体类在哪里。
报错为 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
原因:
maven默认配置,只加载java文件夹下的.java文件, 其他类型文件不编译。(有些人可能有,但也是报同样的错误,也可以用以下方法)
target文件下没有对应的xml文件(target文件可以点maven的package生成)
生成target方式:
解决方法:
1. 将上面的java文件下的xml文件包复制到target目录下对应的地方上。(麻烦,不建议)
2. 将xml文件放在resources目录中,会被默认加载进去。(但是会改变项目结构,也不建议)
3. 通过配置实现:(推荐)
a. 在pom文件中配置(include配置加载文件)
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
b.在application.properties文件中配置(这里要写自己的xml文件路径)
#配置mapper xml文件路径
mybatis-plus.mapper-locations=classpath:项目路径/mapper/xml/*.xml