Java 找不到DriverManager,在红色下划线下并提示我创建类DriverManager
**使用Netbeans 11.2**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中 要解决此问题,请在默认包
我添加了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;
}