13
  1. 我已经下载了 mysql-connector-java-5.1.24-bin.jar
  2. lib在我的项目中创建了一个文件夹并将 jar 放在那里。
  3. 项目的属性->构建路径->添加JAR并选择上面的JAR。
  4. 我仍然得到java.sql.SQLException: No suitable driver found for jdbc:mysql//localhost:3306/mysql

我正在使用 mysql 5.5 代码:

package DBTest;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
import java.util.*;

/**
 * Servlet implementation class TenUsers
 */
@WebServlet("/TenUsers")
public class TenUsers extends HttpServlet {
    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        PrintWriter out = response.getWriter();
        String mySqlUrl = "jdbc:mysql://localhost:3306/mysql";

        Properties userInfo = new Properties();
        userInfo.put("user", "root");
        userInfo.put("password", "SabababArba");
        try{
            Connection connection = DriverManager.getConnection(mySqlUrl, userInfo);
        }catch(Exception e) {
            out.println(e);
        }      
    }
}

如果我在得到Class.forName("com.mysql.jdbc.Driver");之前添加Connection connection = DriverManager.getConnection(mySqlUrl, userInfo);java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

4

7 回答 7

12

尝试插入:

DriverManager.registerDriver(new com.mysql.jdbc.Driver());

在获取 JDBC 连接之前。

于 2013-04-01T21:09:53.487 回答
8

1:我已经下载了mysql-connector-java-5.1.24-bin.jar

好的。


2:我在我的项目中创建了一个lib文件夹并将jar放在那里。

错误的。您需要将 JAR 放到/WEB-INF/lib文件夹中。您无需创建任何其他文件夹。


3:project的properties->build path->add JAR,选择上面的JAR。

不必要。撤消这一切以避免可能的冲突。


4: 我还是得到 java.sql.SQLException: No suitable driver found for jdbc:mysql//localhost:3306/mysql

此异常可能有 2 个原因:

  1. JDBC 驱动程序不在运行时类路径中。这将通过做2)正确的方式来解决。
  2. 任何加载的 JDBC 驱动程序都无法识别 JDBC URL。实际上,JDBC URL 是错误的,根据MySQL JDBC 驱动程序文档,方案和主机之间应该有另一个冒号。

    jdbc:mysql://localhost:3306/mysql
    
于 2013-04-01T19:15:39.413 回答
3

您可以将驱动程序的 .jar 文件粘贴到 Java 设置中,而不是将其添加到您创建的每个项目中。将其粘贴到 C:\Program Files\Java\jre7\lib\ext 或安装了 java 的任何位置。

在此之后,您会发现.jar 驱动程序已列入您在 IDE 中创建的项目(JRE 系统库)的库文件夹中。无需重复添加。

于 2013-10-30T17:20:13.873 回答
2
  1. 复制mysql-connector-java-5.1.24-bin.jar

  2. 将其粘贴到 \Apache Software Foundation\Tomcat 6.0\lib\<--here-->

  3. 从 Eclipes 重新启动您的服务器。

  4. 完毕

于 2013-07-25T22:26:56.697 回答
1

您尚未将驱动程序加载到内存中。在下面使用这个init()

Class.forName("com.mysql.jdbc.Driver");

此外,您在 url 中错过了一个冒号 (:),请使用此

String mySqlUrl = "jdbc:mysql://localhost:3306/mysql";
于 2013-04-01T18:09:08.340 回答
1

如果您一次又一次遇到此异常,请下载 my-sql 连接器并粘贴到 tomcat/WEB-INF/lib 文件夹中...请注意,有时 WEB-INF 文件夹不包含 lib 文件夹,当时手动创建 lib 文件夹并将mysql连接器粘贴到该文件夹​​中..这绝对可行。如果仍然有问题,请检查您的jdk是否必须与您的系统匹配。也就是说,如果你的系统是 64 位的,那么 jdk 必须是 64 位的

于 2014-02-03T09:20:38.673 回答
1

试试这个教程,它有解释,它会很有帮助 http://www.ccs.neu.edu/home/kathleen/classes/cs3200/JDBCtutorial.pdf

于 2015-02-12T16:57:06.783 回答