数据库mapper和xml文件对应不上报错

报错截图

在这里插入图片描述

步步排查

1、mapper接口上添加@Mapper注解或者在启动类上添加@MapperScan(“com.xxx.xxx.xxx.xxx.mapper”)包扫描路径。

2、mapper接口方法和xml对应的id保持一致。
在这里插入图片描述

3、mybatis-plus配置,和resources路径下保持一致

mybatis-plus.mapper-locations=classpath:mybatis/mappers/*.xml

4、编译工程,在target目录也能找到xml的文件

5、xml文件下的namespace,引用的mapper是否一致

经过排查,发现bug就像小强一样,还是Invalid bound statement (not found)报错!

柳暗花明

查看依赖:

 <dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.0</version>
 </dependency>
 <dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.2.0</version>
 </dependency>
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-extension</artifactId>
    <version>3.2.0</version>
</dependency>

发现引用了mybatis-plus的依赖,但是在配置文件里用的是mybatis的配置。

解决问题

修改application.properties文件:

mybatis-plus.mapper-locations=classpath:mybatis/mappers/*.xml
调用查询接口,成功返回数据。
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐