如何在 Ubuntu 16.04 上连接 Java 和 MySQL?

如何在 Ubuntu 16.04 上连接 Java 和 MySQL?

我看到了类似这样的异常。请帮助我。

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

这是我尝试执行以建立连接的程序。


    import java.sql.*;

    class Connect
    {
    public static void main(String args[])
        {
        try{
            String dbUrl="jdbc.mysql://localhost:3306/EMPLOYEE";
            String username="root";
            String password="avinash";
            Class.forName("com.mysql.jdbc.Driver");
            Connection myconnection=DriverManager.getConnection(dbUrl,username,password);
            Statement mystatement=myconnection.createStatement();
            ResultSet myresultset=mystatement.executeQuery("select * from EMPLOYEE");
        }catch(Exception e){
        System.out.println(e);
        }
    }
    }

答案1

我找到了解决方案。第一个错误是在这里。我输入的jdbc.mysql://localhost:3306/EMPLOYEE是 而不是jdbc:mysql://localhost:3306/EMPLOYEE。也就是说,一个点(.)代替冒号(:)在上面的语句中,jdbc 之后。更正此错误后,我收到另一个错误,提示:

2019 年 3 月 28 日星期四 15:38:38 IST 警告:不建议在未进行服务器身份验证的情况下建立 SSL 连接。根据 MySQL 5.5.45+、5.6.26+ 和 5.7.6+ 的要求,如果未设置显式选项,则必须默认建立 SSL 连接。为了符合未使用 SSL 的现有应用程序的要求,verifyServerCertificate 属性设置为“false”。您需要通过设置 useSSL=false 来显式禁用 SSL,或者设置 useSSL=true 并提供信任库以进行服务器证书验证。

?useSSL=false然后我在语句中设置String dbUrl="jdbc:mysql://localhost:3306/EMPLOYEE?useSSL=false";然后我成功执行了该程序。

Java:

import java.sql. * ;

class Connect {
    public static void main(String args[]) {
        try {
            String dbUrl = "jdbc:mysql://localhost:3306/EMPLOYEE?useSSL=false";
            String username = "root";
            String password = "avinash";
            Class.forName("com.mysql.jdbc.Driver");
            Connection myconnection = DriverManager.getConnection(dbUrl, username, password);
            Statement mystatement = myconnection.createStatement();
            ResultSet myresultset = mystatement.executeQuery("select * from EMPLOYEES");
            System.out.println("Connected");
            while (myresultset.next()) {
                System.out.println("Employee ID : " + myresultset.getString("ID"));
                System.out.println("Employee Age : " + myresultset.getString("AGE"));
                System.out.println("Employee Name : " + myresultset.getString("FIRST_NAME") + " " + myresultset.getString("LAST_NAME"));
            }

        } catch(Exception e) {
            System.out.println(e);
        }
    }
}

...输出...

$ javac Connect.java
$ java -cp .:mysql-connector-java-5.1.47-bin.jar Connect
Connected
Employee ID : 100
Employee Age : 18
Employee Name : zaara ali
Employee ID : 101
Employee Age : 20
Employee Name : manam naman
Employee ID : 102
Employee Age : 22
Employee Name : zaid khan
Employee ID : 103
Employee Age : 24
Employee Name : sumith das

但有疑问。为什么要这样运行这个程序,使用这个命令?

java -cp .:mysql-connector-java-5.1.47-bin.jar Connect

请帮忙:)

答案2

您需要将 mysql 连接器添加到您的项目中。

有很多方法和工具可以做到这一点,我在这里向你推荐一种。

连接器可以在以下位置下载:mysql 网站. 选择“平台独立”以获取包含 JAR 文件的档案。

然后解压缩下载的档案并将 JAR 文件与您的项目源一起移动。

然后,您可以使用 IDE 将其添加到项目中。例如,这是使用 Eclipse 时要遵循的程序(2018-09 - 更多详细信息请参阅这个帖子):

  1. 在项目资源管理器中,右键单击您的项目

  2. 选择属性

  3. 在属性窗口中,单击左侧面板中的“Java 构建路径”

  4. 在 Java 构建路径中,单击“Librairies”选项卡

  5. 选择 Classpath 并使用右侧的“添加 JAR”按钮

java 构建路径屏幕截图

相关内容