这是我上午配置环境时候遇见的问题
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.panda.mpt.mapper.PersonMapper.selectByNames
错误分析:报错的意思是mapper.xml与mapper文件对应不上,应该是路径配置这些没有搞对
application.yml
springboot的application.yml看看mybati-plus的配置是否正常,这里很重要的一点就是mapper-location的配置,classpath是指向resource的,classpath*却可以遍历整个项目目录;另外** 代表的是无限层级目录( 比如**/test 既可以代表main/test也可以代表main/test1/test目录,而*仅能代表一层目录或是文件名)
mybatis-plus:
mapper-locations: classpath*:/com/panda/mpt/mapper/xml/*.xml
type-aliases-package: com.panda.mpt.*.pojo
pom.xml
若application.xml中配置正确,运行仍然报错的话,就要看看pom.xml中的配置了,如下图所示
<resources>
<resource>
<!--错误的配置-->
<directory>src/main/java/com/panda/mpt/mapper/xml</directory>
<includes>
<include>*.xml</include>、
</includes>
<filtering>false</filtering>
</resource>
</resources>
<resources>
<resource>
<!--正确配置-->
<directory>src/main/java</directory>
<includes>
<include>com/panda/mpt/mapper/xml/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
需要注意的是,directory包括的目录不能再向下了,剩下的路径配置在include中!
这2块内容配置正确后,test里执行一下
嘿嘿!成功了