Java-与 JDBC 集成 - 找不到适合 jdbc:mysql 错误的驱动程序
Java-Integration with JDBC - No suitable driver found for jdbc:mysql error
我对 Java 比较陌生。
需要使用 Java 和 JDBC。我目前尝试连接到我机器上的本地数据库。
这是训练的一部分,现在对我来说非常重要。
我正在使用 Java 8:
相应的培训和演示是使用 Java 7 完成的
附带练习的驱动是:mysql-connector-java-5.1.21-bin.jar
然而,我被推荐使用 Java 8 驱动程序,所以我从 https://dev.mysql.com/downloads/connector/j/[= 下载了 mysql-connector-java-8.0.29.jar(平台无关) 21=]
MySQL(本地数据库)如下所示:
主机名:127.0.0.1
用户:根
端口:3306
将 JDBC 连接字符串复制到剪贴板会带来以下内容:jdbc:mysql://127.0.0.1:3306/?user=root
驱动程序:mysql-connector-java-8.0.29.jar 已复制到项目文件夹“libs”并添加到构建路径:
我创建的以下代码(class main):
package com.lynda.javatraining.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Main {
private static final String USERNAME = "root";
private static final String PASSWORD = "secret";
//private static final String CONN_STRING =
//"jdbc:mysql://localhost/explorecalifornia";
//private static final String CONN_STRING =
//"jdbc:mysql://127.0.0.1/explorecalifornia";
**//This is the string I use currently:**
private static final String CONN_STRING =
"jdbc:mysql://127.0.0.1:3306/explorecalifornia";
//"jdbc:mysql://127.0.0.1:3306/?user=root/explorecalifornia";
public static void main(String[] args) throws SQLException {
Connection conn = null;
try {
conn = DriverManager.getConnection(CONN_STRING, USERNAME, PASSWORD);
System.out.println("Connected");
} catch (SQLException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
System.err.println(e);
}finally {
if (conn != null) {
conn.close();
}
}
}
}
当我 运行 我得到的代码时:java.sql.SQLException:
找不到适合 jdbc:mysql://127.0.0.1:3306/explorecalifornia
的驱动程序
我尝试了 CONN_STRING 的不同组合(请参阅上面代码中的所有注释),但仍然无法正常工作。我尝试了最初提供的驱动程序 (mysql-connector-java-5.1.21-bin.jar) 但没有成功(这是预期的)。有人可以给点建议吗
MySQL Connector/J 8 requires Java 8,当您尝试在 Java 7 上 运行 它时(如“JRE 系统库”所示[JavaSE-1.7]" 在您的 IDE 屏幕截图中)。将您的项目升级或切换到 Java 8(或更高版本),或者降级到较旧的 MySQL Connector/J 版本(例如 MySQL Connector/J 5.1.49,支持 Java 5 或更高版本)。
如果将 Class.forName("com.mysql.cj.jdbc.Driver")
添加到 main 方法的开头,您可能会得到一个 NoClassDefFoundError
,原因是 UnsupportedClassVersionError
.
对于错误的一般原因 "java.sql.SQLException:找不到适合 jdbc:mysql://..." 的驱动程序,另请参阅 Connect Java to a MySQL database
我对 Java 比较陌生。
需要使用 Java 和 JDBC。我目前尝试连接到我机器上的本地数据库。
这是训练的一部分,现在对我来说非常重要。
我正在使用 Java 8:
相应的培训和演示是使用 Java 7 完成的 附带练习的驱动是:mysql-connector-java-5.1.21-bin.jar 然而,我被推荐使用 Java 8 驱动程序,所以我从 https://dev.mysql.com/downloads/connector/j/[= 下载了 mysql-connector-java-8.0.29.jar(平台无关) 21=]
MySQL(本地数据库)如下所示: 主机名:127.0.0.1 用户:根 端口:3306
驱动程序:mysql-connector-java-8.0.29.jar 已复制到项目文件夹“libs”并添加到构建路径:
我创建的以下代码(class main):
package com.lynda.javatraining.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Main {
private static final String USERNAME = "root";
private static final String PASSWORD = "secret";
//private static final String CONN_STRING =
//"jdbc:mysql://localhost/explorecalifornia";
//private static final String CONN_STRING =
//"jdbc:mysql://127.0.0.1/explorecalifornia";
**//This is the string I use currently:**
private static final String CONN_STRING =
"jdbc:mysql://127.0.0.1:3306/explorecalifornia";
//"jdbc:mysql://127.0.0.1:3306/?user=root/explorecalifornia";
public static void main(String[] args) throws SQLException {
Connection conn = null;
try {
conn = DriverManager.getConnection(CONN_STRING, USERNAME, PASSWORD);
System.out.println("Connected");
} catch (SQLException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
System.err.println(e);
}finally {
if (conn != null) {
conn.close();
}
}
}
}
当我 运行 我得到的代码时:java.sql.SQLException: 找不到适合 jdbc:mysql://127.0.0.1:3306/explorecalifornia
的驱动程序我尝试了 CONN_STRING 的不同组合(请参阅上面代码中的所有注释),但仍然无法正常工作。我尝试了最初提供的驱动程序 (mysql-connector-java-5.1.21-bin.jar) 但没有成功(这是预期的)。有人可以给点建议吗
MySQL Connector/J 8 requires Java 8,当您尝试在 Java 7 上 运行 它时(如“JRE 系统库”所示[JavaSE-1.7]" 在您的 IDE 屏幕截图中)。将您的项目升级或切换到 Java 8(或更高版本),或者降级到较旧的 MySQL Connector/J 版本(例如 MySQL Connector/J 5.1.49,支持 Java 5 或更高版本)。
如果将 Class.forName("com.mysql.cj.jdbc.Driver")
添加到 main 方法的开头,您可能会得到一个 NoClassDefFoundError
,原因是 UnsupportedClassVersionError
.
对于错误的一般原因 "java.sql.SQLException:找不到适合 jdbc:mysql://..." 的驱动程序,另请参阅 Connect Java to a MySQL database