Mybatis-plus使用过程中出现Invalid bound statement (not found):com.xxx.xxx.xxxMapper.selectList

使用Mybatis-plus整合Springboot逆向了一下,发现调用BaseMapper自带的查询就没问题,
用自己写的Sql语句查询就会出现Invalid bound statement (not found):com.xxx.xxx.xxxMapper.selectList报错
我的XML存放地址
在这里插入图片描述
然后我在application.yam加了
这句`在这里插入代码片

mybatis-plus:
  #信息输出设置
  # xml地址
  mapper-locations: classpath:mapper/xml/*.xml
  # 实体扫描,多个package用逗号或者分号分隔
  # type-aliases-package: ***   #自己的实体类地址

ok,问题解决

### MyBatis-Plus 中 `selectList` 方法出现 `Invalid bound statement (not found)` 错误的解决方案 当在使用 MyBatis-Plus过程中遇到 `Invalid bound statement (not found)` 异常时,通常意味着框架未能正确识别或加载 SQL 映射语句。以下是几种常见的原因及其相应的解决措施: #### 检查 Mapper 接口与 XML 文件的一致性 确保 `Mapper` 接口中定义的方法名称以及参数类型与对应的 `.xml` 配置文件内的 `<select>` 或其他标签完全匹配。如果存在不一致,则可能导致找不到绑定语句的问题[^1]。 ```java // 正确的做法是保持接口方法签名和XML中的ID相同 public interface UserMapper extends BaseMapper<User> { @Select("SELECT * FROM user WHERE deleted=0") List<User> selectNotDeletedUsers(); } ``` #### 确认命名空间设置无误 验证 `mapper.xml` 文件里的 `namespace` 属性是否指向了正确的 Java 类路径下的 `Mapper` 接口全限定名。任何拼写错误都会引起此类问题[^4]。 ```xml <!-- mapper.xml --> <mapper namespace="com.example.mapper.UserMapper"> <!-- ... --> </mapper> ``` #### 核实资源文件位置及打包方式 确认项目结构中包含了必要的映射文件,并且这些文件能够在编译后的目标目录 (`target`) 下被正确复制。对于 Maven 项目来说,可能需要调整插件配置来确保 XML 资源能够被打包进去。 ```xml <build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> </build> ``` #### 添加适当依赖并清理构建缓存 有时缺少某些特定版本的库也可能引发此问题;因此建议检查项目的依赖管理工具(如 Maven 或 Gradle),确保已引入最新版的 MyBatisMyBatis-Plus 库。另外,在做出更改后执行一次完整的 clean build 可能有助于解决问题。 ```bash mvn clean install ``` #### 实体类注解校验 最后还需注意实体类上的注解应用情况,特别是像 `@TableId` 这样的字段级注解,它们用于指示主键列的信息。虽然这并不是直接造成上述异常的原因之一,但在调试期间仍然值得检查一遍以排除潜在隐患。 通过以上几个方面的排查工作,应该可以有效地定位并修复 `Invalid bound statement (not found)` 错误的发生根源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值