我已经将JavaMySQL连接器添加到我的项目中,但我的项目仍然无法使用它

我已经将JavaMySQL连接器添加到我的项目中,但我的项目仍然无法使用它,java,mysql,Java,Mysql,这是我的课,它是用来连接的 // Database credentials static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost:3306/pornism"; static final String USER = "root"; static final String PASS = "1"; static final St

这是我的课,它是用来连接的

// Database credentials
static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/pornism";
static final String USER = "root";
static final String PASS = "1";
static final String HOST_NAME = "localhost";
static final String DB_NAME = "pornism";

// Connection and Statement of current session

public static Connection getConnection() throws ClassNotFoundException {
    try {
        String connectionURL = "jdbc:mysql://" + HOST_NAME + ":3306/" + DB_NAME;
        Connection conn = DriverManager.getConnection(connectionURL,USER,PASS);
        System.out.println("Successfull!!");
        return conn;
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return null;
    }
}
    java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/crewup
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at data.Database.getConnection(Database.java:22)
at prototype.LoginMethod.doPost(LoginMethod.java:45)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:609)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1623)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
这就是当我尝试连接时显示的

// Database credentials
static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/pornism";
static final String USER = "root";
static final String PASS = "1";
static final String HOST_NAME = "localhost";
static final String DB_NAME = "pornism";

// Connection and Statement of current session

public static Connection getConnection() throws ClassNotFoundException {
    try {
        String connectionURL = "jdbc:mysql://" + HOST_NAME + ":3306/" + DB_NAME;
        Connection conn = DriverManager.getConnection(connectionURL,USER,PASS);
        System.out.println("Successfull!!");
        return conn;
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return null;
    }
}
    java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/crewup
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at data.Database.getConnection(Database.java:22)
at prototype.LoginMethod.doPost(LoginMethod.java:45)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:609)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1623)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
我已经将mysql连接器添加到我的项目中:


有人能告诉我为什么它不起作用吗?我试图找到。

您必须设置
类.forName

请尝试下面的代码片段

public static Connection getConnection() throws ClassNotFoundException {
  try {
      Class.forName(JDBC_DRIVER);  // Add this line.
      String connectionURL = "jdbc:mysql://" + HOST_NAME + ":3306/" + DB_NAME;
      Connection conn = DriverManager.getConnection(connectionURL,USER,PASS);
      System.out.println("Successfull!!");
      return conn;
  } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      return null;
  }
}

您必须设置
类.forName

请尝试下面的代码片段

public static Connection getConnection() throws ClassNotFoundException {
  try {
      Class.forName(JDBC_DRIVER);  // Add this line.
      String connectionURL = "jdbc:mysql://" + HOST_NAME + ":3306/" + DB_NAME;
      Connection conn = DriverManager.getConnection(connectionURL,USER,PASS);
      System.out.println("Successfull!!");
      return conn;
  } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      return null;
  }
}

您是否已将MySQL JDBC驱动程序导入项目库?

您是否已将MySQL JDBC驱动程序导入项目库?

我测试了你的代码。 下载JDBC驱动程序jar文件,然后将其导入到您的项目中。再次测试

ps:Từ 团体资格:)

我测试了你的代码。 下载JDBC驱动程序jar文件,然后将其导入到您的项目中。再次测试


ps:Từ 必须首先调用
Class.forName(JDBC\U驱动程序)

必须首先调用
Class.forName(JDBC\U驱动程序)

我认为您没有将连接器放在项目目录中,这就是为什么它找不到连接器的原因。我认为,您使用了错误版本的驱动程序。请从此网站下载正确版本。我认为你没有把连接器放在项目的目录中,这就是为什么它找不到连接器的原因。我认为,你使用了错误版本的驱动程序。请从此网站下载正确版本。我试过了,但没有工作。现在一切都很奇怪。我还尝试将该代码移动到一个新的maven项目中,该项目已经添加了mysql连接器java依赖项,它工作正常,但在该项目中运行时,仍然会导致该错误。现在一切都很奇怪。我还尝试将该代码转移到一个新的maven项目中,该项目已经添加了mysql connector java依赖项,它工作正常,但在该项目中运行时,它仍然会导致该错误。请不要要求澄清该问题作为答案。请不要要求澄清该问题作为答案。