项目中创建mapper接口,并且编写了xml文件sql语句,执行出现错误
ibatis.binding.BindingException:Invalid bound statement(not found):com.xx.xx.mapper
这个错误是maven默认加载机制造成的问题,maven加载的时候,把java文件夹里面.java类型文件进行编译,如果包含其他类型文件,不会进行加载。
解决方式:
-
1、手动复制xml文件夹到target目录下classes文件夹下对应的包路径中
-
2、把xml文件放到resources目录中
-
3、通过配置实现(推荐)
- (1)配置pom.xml文件
<resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.yml</include> <include>**/*.properties</include> <include>**/*.xml</include> <filtering>false</filtering> </includes> </resource> </resources>
- (2)配置application.properties或application.yml文件
mybatis-plus: mapper-locations: classpath*:com/xx/xx/mapper/xml/**/*.xml
注意这里是
mybatis-plus
,而不是配置mybatis,因为我们的项目是整合的mybatis-plus,需要更改为mybatis-plus的配置才会生效。