Mybatis一个空格的配置也会让你花很多时间找错误

发布时间:2023年12月26日

mybatis-plus:
????????mapper-locations:
????????????????classpath: /mappers/*Mapper.xml
????????type-aliases-package: cn.edao.vccd.entity

看是没有问题,但是??classpath: /mappers/*Mapper.xml这里的冒号classpath:和/ 斜杆中间多了个空格。就会报这样的错误:

Invalid bound statement (not found): cn.edao.vccd.dao.RechargeOnProviderMapper.getRechargeSum

编程羔手,菜鸟级,就算大师级,有时候也难免碰到这样的问题,何必为难羔手?一个not fond, 空格最难找。类似这样的错误,AI编程助手都帮不了你,最好就是找个好的配置案例重新配置下,可能解决问题更快!

===

但是AI编程助手ChatGPT还是提供了错误提示,你把错误提交给AI,他回复你:

这个错误通常出现在 MyBatis 无法找到指定命名空间下的查询语句。请确保你的 MyBatis 配置和包扫描设置正确,并检查 XML Mapper 文件的路径和文件名是否正确。

首先,确保你的 MyBatis 配置文件(通常是 mybatis-config.xml)正确加载了 XML Mapper 文件,可以在配置文件中添加如下内容:

xml
Copy code
<!-- mybatis-config.xml -->

<configuration>
    <!-- 其他配置 -->
    
    <!-- 添加 Mapper 文件扫描路径 -->
    <mappers>
        <mapper resource="classpath:com/melogoldpay/vccd/dao/RechargeOnProviderMapper.xml"/>
        <!-- 如果还有其他 Mapper 文件,可以继续添加 -->
    </mappers>
</configuration>
请确保 resource 属性中的路径是正确的,并且包含了 XML Mapper 文件。

另外,检查你的 Mapper 接口是否正确扫描到了,通常在 Spring Boot 项目中,@MapperScan 注解用于指定扫描的 Mapper 包路径。例如:

java
Copy code
// 启动类上添加 @MapperScan 注解
@MapperScan("com.melogoldpay.vccd.dao")
@SpringBootApplication
public class YourApplication {

    public static void main(String[] args) {
        SpringApplication.run(YourApplication.class, args);
    }
}
最后,检查一下你的 XML Mapper 文件名是否正确,大小写敏感。如果文件名是 RechargeOnProviderMapper.xml,确保在配置中写的也是这个文件名。

如果问题仍然存在,请提供更多关于你的项目结构和配置的信息,以便更具体地帮助你解决问题。

文章来源:https://blog.csdn.net/yizdream/article/details/135227619
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。