【问题标题】:JDBC cannot be resolved to a typeJDBC 无法解析为类型
【发布时间】:2012-10-14 18:58:44
【问题描述】:

我试图在我的类定义中使用@JDBC 注释,如下所示,但Eclipse 说JDBC cannot be resolved to a type。为什么会这样?

我使用 MySQL 作为数据库引擎,我已将 mysql-connector-java 添加到 WEB-INF/lib 并将其添加到项目的构建路径中。

当我单击同一行代码中红色方块上带有 X 的灯泡时,无法导入任何内容 - 只有 Create annotation JDBC

import java.util.List;

import javax.sql.DataSource;

@JDBC
public class MyClass {
...
}

【问题讨论】:

  • 将 sql.jdbc.jar 添加到你的类路径
  • 你导入了吗?您可以发布整个代码、导入和 Eclipse 构建路径吗?
  • @mael 我在早期只导入了import javax.sql.DataSource;。我已将mysql-connector-java 添加到项目的构建路径中。至于代码 - 差不多就是这样。我还没有在课堂上编写任何代码。
  • 我没有看到@JDBC 的导入,我认为javax.sql.DataSource 不包含注释@JDBC
  • 为什么每个人都在谈论注解,就好像它真的存在于 Java EE 或 JDBC API 中一样? Java EE 和 JDBC 中根本不存在此注解。它要么是本土的,要么来自第三方图书馆。用户 1701467,请提及您在哪里了解到此专有注释,也许您只是以错误的方式阅读了教程/资源/书籍。到目前为止收集的上述 cmets 和 upvotes 基本上没有意义。这里没有什么新鲜事。

标签: java eclipse jakarta-ee jdbc


【解决方案1】:

此注释存在于Java EEJDBC 中。

鉴于 MySQL + JDBC + Java EE + Eclipse 的组合,您可能会关注this tutorial 并在不阅读文本的情况下复制粘贴代码。它提到了以下内容:

还请注意,我们定义了一个名为@JDBC 的新注解。这允许我们将正确的存储库注入到 Servlet 中,如下所示:

package com.bookstore;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;

import javax.inject.Qualifier;

@Qualifier @Retention(RUNTIME) @Target({TYPE, METHOD, FIELD, PARAMETER})
public @interface JDBC {
}

所以,您必须自己创建它

【讨论】:

  • +1 花时间真正找到 @JDBC 参考 :-)
猜你喜欢
  • 2015-10-22
  • 1970-01-01
  • 2021-08-28
  • 2013-12-14
  • 2015-06-10
  • 2015-11-22
  • 1970-01-01
  • 2014-07-23
  • 2011-12-31
相关资源
最近更新 更多