当我尝试在 IntelliJ IDEA 中运行一个简单的程序连接到 MySql 数据库时,出现以下错误:
java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:391)
at java.base/java.lang.Class.forName(Class.java:382)
at config.DatabaseConfig.getConnection(DatabaseConfig.java:29)
at Main.main(Main.java:8)
以下是我正在使用的代码:
数据库属性
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/database
jdbc.user=user
jdbc.password=password
数据库配置.java
package config;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;
public class DatabaseConfig {
private static Connection connection = null;
public static Connection getConnection() {
if (connection != null) {
return connection;
} else {
try {
// Load database properties
InputStream inputStream = DatabaseConfig.class.getClassLoader().getResourceAsStream("db.properties");
Properties properties = new Properties();
properties.load(inputStream);
// Get properties
String driver = properties.getProperty("jdbc.driver");
String url = properties.getProperty("jdbc.url");
String user = properties.getProperty("jdbc.user");
String password = properties.getProperty("jdbc.password");
// Register JDBC driver
Class.forName(driver);
// Open a connection
connection = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
e.printStackTrace();
}
return connection;
}
}
}
Main.java
import config.DatabaseConfig;
import java.sql.Connection;
public class Main {
public static void main(String[] args) {
// Initialize database connection
Connection connection = DatabaseConfig.getConnection();
if (connection != null) {
System.out.println("Successfully connected to the database.");
// Perform database operations
} else {
System.out.println("Failed to connect to the database.");
}
// Close the connection when done
try {
if (connection != null && !connection.isClosed()) {
connection.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
我点击了此链接:数据库工具和 SQL。我能够连接到我的数据库并成功运行测试连接。但是当我运行 Main.java 时,它打印“无法连接到数据库”并显示上述错误。
我将 MySQL jar 文件放在我的项目目录中:RootFolder/MySql.jar,然后添加到我的依赖项中,如下所示:文件 -> 项目结构 -> 模块 -> 依赖项 -> + -> JAR 或目录 -> RootFolder/MySql 。罐。但是当我运行 Main.java 时,它打印“无法连接到数据库”并显示上述错误。
我从此链接下载了最新的 MySql.jar 文件:MySql 社区下载。版本是mysql-connector-j.8.3.0。我将其添加到我的依赖项中,如下所示:文件 -> 项目结构 -> 模块 -> 依赖项 -> + -> JAR 或目录 -> C:\Users\me\Downloads\mysql-connector-j-8.3.0\mysql -connector-j-8.3.0\mysql-connector-j-8.3.0.jar。但是当我运行 Main.java 时,它打印“无法连接到数据库”并显示上述错误。 (我尝试使用压缩和解压的 jar 文件)
我还尝试将 jar 文件添加为库,如下所示:文件 -> 项目结构 -> 库 -> + -> Java -> RootFolder/MySql.jar。但是当我运行 Main.java 时,它打印“无法连接到数据库”并显示上述错误。
我还尝试将 jar 文件添加为库,如下所示:文件 -> 项目结构 -> 库 -> + -> Java -> C:\Users\me\Downloads\mysql-connector-j-8.3.0\ mysql-connector-j-8.3.0\mysql-connector-j-8.3.0.jar。但是当我运行 Main.java 时,它打印“无法连接到数据库”并显示上述错误。
我尝试从 Maven 添加库,如下所示:文件 -> 项目结构 -> 库 -> + -> 来自 Maven -> com.mysql:mysql-connector-j:8.3.0。但是当我运行 Main.java 时,它打印“无法连接到数据库”并显示上述错误。
我遵循了此 stackoverflow 帖子中的所有答案:将 Java 连接到 MySQL 数据库。但是当我运行 Main.java 时,它打印“无法连接到数据库”并显示上述错误。
我有一个解决方案 打开您的 tomcat 文件位置并将 mySQL jar 文件添加到 bin 文件夹中,它将再次工作。 我也遇到过同样的问题..