You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DBUtil类executeQuery(String[])方法引用缺失UncategorizedSQLException报错求助

问题解决:The method executeQuery(String[]) from the type DBUtil refers to the missing type UncategorizedSQLException

错误原因

这个编译错误的核心是项目中找不到UncategorizedSQLException类的定义。该类属于Spring JDBC模块(全类名org.springframework.jdbc.UncategorizedSQLException),通常是因为缺少Spring JDBC的依赖,或者依赖未正确加载到类路径中。

解决方案

1. 补充Spring JDBC依赖

如果你的项目使用构建工具管理依赖:

  • Maven项目:在pom.xml中添加以下依赖(替换版本号为项目使用的Spring版本):
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.3.20</version>
</dependency>
  • Gradle项目:在build.gradle中添加:
implementation 'org.springframework:spring-jdbc:5.3.20'

注意:版本号要和项目中其他Spring组件(如spring-core、spring-context)保持一致,避免版本冲突。

2. 手动管理依赖的情况

如果是手动添加jar包,需要将spring-jdbc-x.x.x.jar放入项目的类路径中:

  • Web项目:放到WEB-INF/lib目录下;
  • 普通Java项目:在IDE中右键项目 → 构建路径 → 添加外部jar,选中对应的spring-jdbc包。

3. 检查自定义DBUtil类

如果DBUtil是你自己实现的工具类,确认它是否在方法签名或内部逻辑中引用了UncategorizedSQLException:

  • 如果不需要这个异常,可以将其替换为JDK自带的SQLException;
  • 如果必须使用,确保上述依赖已正确引入。

代码小优化建议

你的代码中有几个可以改进的点:

  1. 变量名拼写错误:aray应该改为array,提升可读性;
  2. 异常返回信息优化:catch (Exception ex)块中直接拼接ex会返回冗长的异常类名+堆栈信息,建议改为返回异常消息:
return "-1,EX," + ex.getMessage();

同时建议在catch块中添加日志记录,方便排查问题:

catch (Exception ex) {
    // 假设你用SLF4J日志框架
    log.error("执行数据库操作失败", ex);
    return "-1,EX," + ex.getMessage();
}

内容的提问来源于stack exchange,提问作者Ahmer Naveed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 07:35:31