gpt4 book ai didi

java - JDBC 中的 ClassNotFoundException

转载 作者:行者123 更新时间:2023-11-29 19:13:13 27 4
gpt4 key购买 nike

我知道这个问题已经被问了很多次,但我从未找到适合我的答案。

我对这一行有疑问,说的是通常的 ClassNotFoundException。

Unhandled exception: java.lang.ClassNotFoundException

在控制台中:

java.sql.SQLException: No suitable driver found for jdbc:mysql:xxxxxxxxx

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

但是我在我的项目设置中包含了 jar (mysql-connector-java-5.1.41-bin.jar),我也将它放在了我的 java 安装中的所有 lib 目录中 (JRE和 JDK)。

这里有更多代码:公共(public)类连接实现监听器{

static final String DB_URL = "jdbc:mysql:xxxxxxxxx";

static final String USER = "xxxxxx";
static final String PASS = "xxxxxx";

@EventHandler
public void onPlayerJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();

Connection conn = null;
Statement stmt = null;

try
{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(DB_URL, USER, PASS);

stmt = conn.createStatement();
String sql = "INSERT INTO Players (UUID, Pseudo, Rank, Level, Current_xp, Nbr_kick, Nbr_ban) VALUES (" + p.getUniqueId() + ", " + p.getName() + ", Dev, 1, 0, 0, 0);";
ResultSet rs = stmt.executeQuery(sql);

rs.close();
stmt.close();
conn.close();
}
catch(SQLException se)
{
getLogger().warning(se.toString());
}
}

这是我的类:The classpath of the project

编辑:

好的,它可以工作,方法如下:我使用了以下代码(不是我的),经过几次更正后,它工作了(不要像我一样,不要忘记 jdbc 中的两个斜杠: mysql://xxxx:3306/xxxx

System.out.println("-------- MySQL JDBC Connection Testing ------------");

try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException es) {
System.out.println("Where is your MySQL JDBC Driver?");
es.printStackTrace();
return;
}

System.out.println("MySQL JDBC Driver Registered!");
Connection connection = null;

try {
connection = DriverManager
.getConnection("jdbc:mysql://xxxx:3306/xxxx", USER, PASS);

} catch (SQLException es) {
System.out.println("Connection Failed! Check output console");
es.printStackTrace();
return;
}

if (connection != null) {
System.out.println("You made it, take control your database now!");
} else {
System.out.println("Failed to make connection!");
}

最佳答案

你应该将mysql驱动依赖添加到maven或gradle中(如果你使用maven或gradle项目),或者从这个link下载jar文件并将其添加到项目的类路径中。它必须起作用。如果不是——你就做错了。

关于java - JDBC 中的 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42913667/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com