java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot Invalid bound statement

springboot报错Invalid bound statement (not found)的解决

作者:潜意识Java

本文主要介绍了springboot报错Invalid bound statement (not found)的解决,遇到这种问题通常是没有配置好配置文件,下面就来具体介绍一下解决方法,感兴趣的可以了解一下

一. 问题描述

遇到这种问题通常是没有配置好配置文件,如果是其他的问题的化我就没办法了

我只是记录我错误的过程,以及解决的方案

这个概率是最大的

二.解决问题

找到mybatis的配置文件信息 

三. 添加配置项 

四.其他的解决方案

上面的没解决再来考虑下面的方案!!!!因为我是遇到上面的情况并且完美解决

4.1 Mapper 接口与 XML 文件不匹配 

原因

Mapper 接口中的方法名、参数类型、返回值类型等需要与 Mapper XML 文件中的 SQL 语句定义保持一致。如果不一致,MyBatis 将无法找到对应的 SQL 语句。

解决办法

检查方法名:确保 Mapper 接口中的方法名与 XML 文件中的 id 属性值一致。

public interface UserMapper {
    User selectUserById(int id);
}
<mapper namespace="com.example.mapper.UserMapper">
    <select id="selectUserById" resultType="com.example.entity.User">
        SELECT * FROM users WHERE id = #{id}
    </select>
</mapper>

4.2 Mapper 接口未被扫描

原因

Spring Boot 需要扫描 Mapper 接口,将其注册为 Spring Bean。如果 Mapper 接口没有被正确扫描,就会出现该错误。

解决办法

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.example.mapper")
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

这里的 com.example.mapper 是 Mapper 接口所在的包名,你可以根据实际情况修改。

4.3 项目编译问题

原因

有时候项目编译不完整或存在缓存,会导致 Mapper 接口和 XML 文件没有被正确编译。

解决办法

4.4 XML 文件语法错误

原因

Mapper XML 文件中存在语法错误,会导致 MyBatis 无法正确解析文件。

解决办法

通过以上步骤,你应该能够解决 Invalid bound statement (not found) 错误。如果问题仍然存在,建议检查日志文件,查看更详细的错误信息。

到此这篇关于springboot报错Invalid bound statement (not found)的解决的文章就介绍到这了,更多相关SpringBoot Invalid bound statement 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文