java - 类连接和类语句错误 "cannot find symbol"

标签 java maven jakarta-ee jdbc glassfish

我使用 GlassFish、Maven 和 Command Line 来托管我的项目。

我在 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

我不确定我做错了什么。

最佳答案

这些类是java.sql.Connectionjava.sql.Statement。您当前仅导入 javax.sql.*,因此无法找到这些类。

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

关于java - 类连接和类语句错误 "cannot find symbol",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24398953/

相关文章:

java - 带有调试参数的 Spring Boot 在应用程序停止后不关闭调试端口

java - Java EE 中的无状态单例

java - 如何存储由构造函数创建的类的实例,以便稍后可以调用 in 中的变量?

java - (JDBC) 带有 if 语句和多个条件的 Mysql 查询

jakarta-ee - 使用 maven 阶段执行部署 war 项目

jakarta-ee - 如果通过 Provider.get() 获取 @Dependent 作用域的 CDI bean,何时会销毁该 bean?

java - 使用 JNI 从 JMS 调用 C++

java - 正则表达式导致模式语法异常

java - 使用 faces-config 和 PrimeFaces 4.0 时出现 NullPointerException

java - 你如何在依赖项中引用 Maven 配置文件?