【问题标题】:Error "cannot find symbol" for Class Connection and Class Statement类连接和类语句的错误“找不到符号”
【发布时间】:2014-06-25 01:45:38
【问题描述】:

我正在使用 GlassFish、Maven 和命令行来托管我的项目。

我在 Glassfish 中创建了一个 JDBC 数据库,现在我正在尝试使用这个 Java-EE 文件在其中创建一个表:

package edu.ndnu.arivera;

import javax.sql.*;
import javax.annotation.Resource;

public class dbCreate{
    @Resource(name="jdbc/arivera") DataSource ds;

    public void connectAndQueryDB(String username, String password)
    {
        Connection con = ds.getConnection();
        Statement stmt = con.createStatement();
        stmt.executeQuery("CREATE TABLE Voter (firstName varchar(30),lastName varchar(30), address varchar(30), city varchar(30), state varchar(30), zip varchar(30), phone varchar(30), affil varchar(30))");
        con.close();
    }
}

但是我得到了这个错误:

[ERROR] symbol:   class Connection
[ERROR] location: class edu.ndnu.arivera.dbCreate
[ERROR] /home/student/ContestedCounty/src/main/java/edu/ndnu/arivera/dbCreate.java:[12,1] cannot find symbol
[ERROR] symbol:   class Statement
[ERROR] location: class edu.ndnu.arivera.dbCreate

我不确定自己做错了什么。

【问题讨论】:

  • 在 stackoverflow 上,您应该将自己限制在一个问题中的一个主题上(即使那样,您的第二个问题也会过于宽泛)。我已经编辑了您的问题以删除第二部分,因此它会独立存在。

标签: java maven jakarta-ee jdbc glassfish


【解决方案1】:

课程是java.sql.Connectionjava.sql.Statement。您目前只导入javax.sql.*,因此找不到这些类。

如果您想使用当前包或java.lang 以外的包中的类,则需要导入这些类(例如import java.sql.Connectionimport java.sql.Statement)。任何 IDE 都会向您建议。

【讨论】:

    【解决方案2】:

    导入这两个包:-

    导入 java.sql.SQLException; 导入 java.sql.Statement;

    显示错误的原因是 javax.sql 包中的类连接不可用。 谢谢,

    【讨论】:

      【解决方案3】:

      如果你 refer javax.sql 包你会发现它不包含 ConnectionStatement 类。但是在您的示例中,您正在使用这两个类,因此显然您需要导入它们。所以只需从java.sql 包中导入它们。您可以通过添加这些导入语句来做到这一点 java.sql.Connectionjava.sql.Statement

      尝试通过用trycatch 包围您的代码来处理SQLException,并关闭finally 块中的连接。

      【讨论】:

        猜你喜欢
        • 2013-10-24
        • 2018-03-29
        • 1970-01-01
        • 1970-01-01
        • 2020-01-10
        • 2020-05-03
        • 2019-01-13
        • 2018-05-30
        • 2015-01-26
        相关资源
        最近更新 更多