Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 找不到DriverManager,在红色下划线下并提示我创建类DriverManager_Java_Mysql_Jdbc - Fatal编程技术网

Java 找不到DriverManager,在红色下划线下并提示我创建类DriverManager

Java 找不到DriverManager,在红色下划线下并提示我创建类DriverManager,java,mysql,jdbc,Java,Mysql,Jdbc,**使用Netbeans 11.2** 我添加了mysql连接器jar,但问题仍然存在(无法找到DriverManager符号)问题是jdbc-api-1.4.jar不是库的一部分,因此无法导入java.sql.Driver.class。从下载jdbc-api-1.4.jar -如果已创建模块化项目,并且未明确要求使用java.sql模块,则可以解释无法导入DriverManager的问题。如果不明确要求java.sql,则无法访问JDBCAPI,即使它包含在java中 要解决此问题,请在默认包

**使用Netbeans 11.2**


我添加了mysql连接器jar,但问题仍然存在(无法找到DriverManager符号)

问题是jdbc-api-1.4.jar不是库的一部分,因此无法导入java.sql.Driver.class。从下载jdbc-api-1.4.jar
-如果已创建模块化项目,并且未明确要求使用
java.sql
模块,则可以解释无法导入
DriverManager
的问题。如果不明确要求
java.sql
,则无法访问JDBCAPI,即使它包含在java中

要解决此问题,请在默认包(或:源包的根)中编辑
module info.java
,并在模块主体中添加以下行:

protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
{
    //define the fields
    String username = "root";
    String password = "Otiwah0771";
    String jdbcURL = "jdbc:mysql://localhost:3306/employeedirectory";
    String driver = "com.mysql.jdbc.Driver";

    try
    {

    //Get the Print Writer object
    PrintWriter out = response.getWriter();
    out.println("Connecting to databace"+jdbcURL);

    //load the Driver 
    Class.forName(driver);

    //Get the connection
    Connection connection = DriverManager.getConnection(jdbcURL,username,password);

    //Close the connection
    connection.close();
    }catch(Exception e)
    {
        e.printStackTrace();
    }
}
比如说

requires java.sql;
您现在应该能够导入
java.sql.DriverManager

或者,不要使用模块化项目(即使用没有
module info.java
的项目)


另外,您的代码似乎是一个servlet,直接在web应用程序中使用
DriverManager
通常是一种不好的做法。而是使用连接池支持的
javax.sql.DataSource
来创建和重用连接。

MySQL的较新驱动程序使用com.cj.MySQL.jdbc.Driver类。在这些较新的版本中不再需要Class.forname(),因为connection对象将自己找到它,但请查看适用于您的内容

JDBC是Java SE的一部分,因此您无需下载任何内容即可使用它。如果这为您解决了问题,那么您可能正在使用模块化项目,并且没有在
module info.java
文件中向
java.sql
添加依赖项。如果可以的话,jdbc是java ee的一部分吗?jdbc是java SE的一部分。它包含在普通Java安装中。您不需要下载它(特别是不是已经过期18年的API版本)。您是否导入了
java.sql.DriverManager
?或者您的项目中是否有
模块info.java
,并且该文件不包含
requires java.sql
?问题是,如果它不存在,我就无法导入,我只是下载了java sql api jar并将其添加到我的库中,现在它的工作方式正如我所说的,您可能正在使用模块化项目(这意味着在源代码的根目录下有一个
模块info.java
)。如果创建模块化Java应用程序或库,则必须将
requires Java.sql;
添加到此
module info.Java
文件,否则无法访问JDBC API。另一种选择是不创建模块化Java应用程序。我想我可能已经创建了一个模块项目@markrottevel added requires Java.sql;
module examplemodule {
    requires java.sql;
}