mybatis-plus配置IService接口失败

mybatis-plus配置IService接口失败
配置步骤:

1、配置文件设置

img

2、配置实体类

img

3、配置mapper接口

img

4、配置service接口

img

img

5、代码测试

img

img

求解惑,非常感谢

请检查:
1.启动类上检查是否有@MapperScan
2.配置的mybatis:改为mybatis-plus
3.@MapperScan(basePackages=“你的dao所在的包”) 这个注解是用户扫描 mapper 接口的,也就是dao;
mybatis.mapper-locations 配置是用于扫描 mapper.xml 的,都需要配置。
4.如果还报错,你需要在报错的接口处打断点,断点进入到报错方法里
主要看MybatisMapperMethod.java的private方法resolveMappedStatement
看看是怎么报错的:

        if (configuration.hasStatement(statementId)) {
            return configuration.getMappedStatement(statementId);
        } else if (mapperInterface.equals(declaringClass)) {
            return null;
        }

尝试点击build project

img

img


mapper-locations: classpath*:com/xx/xx/**/mapper/*.xml
配置到包名试试

你的xml配置也贴出来看看

application.yml 映入mybatis-plus配置 不能用默认的 mybatis: 来配置

mybatis-plus:
mapper-locations: classpath*: *Dao.xml

换成

img

启动类上是否加了@MapperScan注解

一、问题描述
在学习mybatis时需要创建一个新项目,可是配置完试的时候,报了Invalid bound statement (not found)错误
什么意思呢?
就是mapper.xml文件和mapper接口没有对应起来呗~

img


二、解决过程
看了很多大佬已经总结好的问题,无非就是namespace写错了、mapper接口或者xml文件名字没对应上等,多次排查之后发现确实没这方面问题 = =
那就是mybatis配置文件里的问题了,毕竟xml文件和接口映射的语句写在这里了嘛

img


这是我的mybatis配置文件里映射部分和文件结构
三、关键点来了!
众所周知,现在建立xml文件一定是在resources文件下建立一个和接口所在包相同名称的文件夹。所以,当其他地方都没有问题的时候,你就要考虑一下自己resources下的mapper包如果像我一样是 嵌套的 !!那你在建立的时候如果不是一个一个文件夹的建立,而是直接建一个多层嵌套的文件夹,则一定会报我这个错误。即使这两种方法建立的文件夹结果是一样的形式!
即:
先建第一个文件件

img


再建第二个文件夹

img


和直接嵌套建文件夹结构是一样的!

img


但是映射去寻找的时候多层只能找到一个一个建成的包。

最后:、在resources里建多层文件夹的时候千万不能和mapper接口文件夹里一样直接建,一定要分开!