一、运行mybatis出现问题:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.example.mapper.CategoryMapper.findAll
二、问题分析和解决方法:
出现的问题,无外乎是以下几个
1: mapper的interface命名和*.xml命名是否一样
2:检查xml文件所在的package名称是否和interface对应的package名称一一对应
3:检查mapper的 *.xml函数名称能否和interface函数名称一一对应
4、检查mapper的XML配置路径是否正确
5:去掉xml文件中的中文注释
6:以上都没问随意在xml文件中加一个空格或者空行然后保存
三、针对mapper的XML配置路径有两种方式
1、一种是mapper的interface和对应的*.xml是放在src/main/java 目录下
application.yml配置:
#mybatis
mybatis:
#配置mapper xml文件所在的路径
mapper-locations: classpath:com.example.mapper/*.xml
#配置映射类所在的包名
type-aliases-package: com.example.pojo
注意:pox.xml中需要加入此配置
<!-- mapper.xml是放在src/main/java目录下,需配置以下-->
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
2、二是mapper的*.xml是放在src/main/resource 目录下,在该目录下创建mapper文件夹
application.yml配置:
##mybatis
mybatis:
#配置mapper xml文件所在的路径
mapper-locations: classpath:mapper/*.xml(此处 xml文件所在的路径改为这样)
#配置映射类所在的包名
type-aliases-package: com.example.pojo