java.lang.IllegalStateException: Failed to execute CommandLineRunner at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:798) [spring-boot-2.3.4.RELEASE.jar:2.3.4.RELEASE] at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:779) [spring-boot-2.3.4.RELEASE.jar:2.3.4.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:322) [spring-boot-2.3.4.RELEASE.jar:2.3.4.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237) [spring-boot-2.3.4.RELEASE.jar:2.3.4.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) [spring-boot-2.3.4.RELEASE.jar:2.3.4.RELEASE] at com.unkown.data.hw.ipran.straight.collect.UnkownDataHwIpranStraightCollectApplication.main(UnkownDataHwIpranStraightCollectApplication.java:39) [classes/:na] Caused by: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.unkown.data.hw.ipran.straight.collect.dao.RTrsHwIpranCircuitDao.queryById at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:235) ~[mybatis-3.5.5.jar:3.5.5] at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:53) ~[mybatis-3.5.5.jar:3.5.5] at org.apache.ibatis.binding.MapperProxy.lambda$cachedInvoker$0(MapperProxy.java:115) ~[mybatis-3.5.5.jar:3.5.5] at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) ~[na:1.8.0_271] at org.apache.ibatis.binding.MapperProxy.cachedInvoker(MapperProxy.java:102) ~[mybatis-3.5.5.jar:3.5.5] at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85) ~[mybatis-3.5.5.jar:3.5.5] at com.sun.proxy.$Proxy108.queryById(Unknown Source) ~[na:na] at com.unkown.data.hw.ipran.straight.collect.service.impl.RTrsHwIpranCircuitServiceImpl.queryById(RTrsHwIpranCircuitServiceImpl.java:29) ~[classes/:na] at com.unkown.data.hw.ipran.straight.collect.controller.RTrsHwIpranCircuitController.IpranSend(RTrsHwIpranCircuitController.java:54) ~[classes/:na] at com.unkown.data.hw.ipran.straight.collect.MyRunner.run(MyRunner.java:24) ~[classes/:na] at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:795) [spring-boot-2.3.4.RELEASE.jar:2.3.4.RELEASE] ... 5 common frames omitted
时间: 2023-06-24 07:09:24 浏览: 491
这个异常是因为 MyBatis 找不到对应的 SQL 语句,具体来说是 `com.unkown.data.hw.ipran.straight.collect.dao.RTrsHwIpranCircuitDao.queryById` 这个语句没有被正确绑定。你可以检查一下以下几个方面:
1. 确认 SQL 语句是否正确,以及是否在 MyBatis 的 Mapper 文件中正确定义了这个语句。
2. 确认 Mapper 文件是否被正确加载,并且命名空间和语句 ID 是否与代码中的调用一致。
3. 确认是否正确配置了 MyBatis 的扫描路径,以确保 Mapper 文件被正确扫描并加载。
相关问题
java.lang.IllegalStateException: Failed to execute CommandLineRunner
java.lang.IllegalStateException: Failed to execute CommandLineRunner是一个常见的异常,通常是由于代码中存在错误或缺失导致的。以下是一些可能导致该异常的原因和解决方法:
1. 缺少必要的依赖项或配置文件。请确保您的项目中包含了所有必要的依赖项,并且配置文件正确。
2. 代码中存在错误。请检查您的代码并修复任何错误。
3. 方法参数过多。请检查您的代码并确保方法参数数量不超过限制。
4. 实体类缺少无参构造函数。请在实体类上添加@NoArgsConstructor注解以解决该问题。
5. 实体类字段名和表字段名不一致。请在实体类上添加@ColumnName注解以解决该问题。
以下是一个可能的解决方案:
```java
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
@Component
public class MyCommandLineRunner implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
// your code here
}
}
```
具体的报错信息为: java.lang.IllegalStateException: Failed to execute CommandLineRunner at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:774) ~[spring-boot-2.7.1.jar:2.7.1] at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:755) ~[spring-boot-2.7.1.jar:2.7.1] at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.7.1.jar:2.7.1] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.7.1.jar:2.7.1] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) ~[spring-boot-2.7.1.jar:2.7.1] at com.sheca.tag.VerifyPluginRunner.main(VerifyPluginRunner.java:17) ~[classes/:?] Caused by: java.lang.RuntimeException: java runner is only support epoll or kqueue at org.apache.apisix.plugin.runner.server.ApplicationRunner.start(ApplicationRunner.java:111) ~[apisix-runner-core-0.4.0.jar:0.4.0] at org.apache.apisix.plugin.runner.server.ApplicationRunner.run(ApplicationRunner.java:149) ~[apisix-runner-core-0.4.0.jar:0.4.0] at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:771) ~[spring-boot-2.7.1.jar:2.7.1] ... 5 more 进程已结束,退出代码1
根据错误信息,原因是由于运行时出现了一个异常,导致 CommandLineRunner 无法执行。
进一步查看错误信息发现,异常的根源是由于 java runner 只支持 epoll 或 kqueue。
这个问题可能与你的操作系统和运行环境有关,建议检查你的操作系统和运行环境是否满足应用程序的要求。
另外,你可以尝试使用其他的 java runner 代替当前的 runner,或者升级你的运行环境,以解决这个问题。
阅读全文
相关推荐








