java.lang.ClassNotFoundException:com.mysql.cj.jdbc.Driver

时间:2019-05-04 22:29:40

标签: java mysql

我到处搜索过,但是这个问题的答案都没有帮助我。

我的问题: java.lang.ClassNotFoundException:com.mysql.cj.jdbc.Driver

我将其添加为外部JAR。 在那不起作用之后,我将文件转换为Maven并为其添加了依赖项,但这仍然无济于事。 我已经尝试了人们在互联网最狭窄的角落中提出的所有建议,但无济于事。

我需要一些帮助。

[e]

我知道可能需要将其重命名为com.mysql.jdbc.Driver,但该名称也无法使用。我重命名了它,因为那是它的看似路径。

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1" import="java.sql.*" import="com.mysql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Add a new company</title>
<link href="bootstrap.css" type="text/css" rel="stylesheet">
</head>
<body>
    <h1>New Company</h1>
    <form method="post" action="CreateNewCompany">
        <table>
            <tr>
                <td>Name</td>
                <td><input type="text" name="fullName"></td>
            </tr>
            <tr>
                <td>Email</td>
                <td><input type="text" name="email"></td>
            </tr>
            <tr>
                <td>Address</td>
                <td>
                    <select class="form-control">
                        <option value="-1">Select an address</option>
                        <%

                        try{
                            String Query = "select * from addresses";
                            Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
                            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/company","root","1234");
                            Statement statement = conn.createStatement();
                            ResultSet resSet = statement.executeQuery(Query);
                            while(resSet.next()){
                                %>
                            <option value="<%=resSet.getInt("addressId")%>"><%=resSet.getString("street")%></option>
                                <%
                            }
                        }
                        catch(Exception ex){
                            ex.printStackTrace();
                            out.println("Error: " + ex.getMessage());
                        }
                        %>
                    </select>
                </td>
            </tr>
            <tr>
                <td>List of Employees</td>
                <td><input type="text" name="employees"></td>
            </tr>
        </table>
        <input type="submit" value="Submit" name="submit"> <input
            type="button" value="Back" name="return">
    </form>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

这里是加载驱动程序并获取连接对象的一个​​示例。检查以下几点

1)

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;



     public class ExampleLoadingDriver {
                public static void main(String[] args) {
                    try {
                        // The newInstance() call is a work around for some
                        // broken Java implementations

                        Class.forName("com.mysql.jdbc.Driver").newInstance();
                    } catch (Exception ex) {
                        // handle the error
                }
            }
        }
  

请勿import com.mysql.jdbc.*

用于获取连接对象

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;

    Connection conn = null;
            ...
            try {
                conn =
                   DriverManager.getConnection("jdbc:mysql://localhost/exampledb?" +
                                               "user=<<userName>>&password=<<Password>>");
               ...
            } catch (SQLException ex) {
                // handle any errors            
            }

2)检查jar已添加到您的类路径中。

3)另外,尝试手动构建项目。

答案 1 :(得分:-1)

事实证明,我必须下载旧版本的连接器,然后它才能工作。谢谢大家的时间和帮助!