Exception in thread “main“ java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at java.base/jdk

本文介绍了在JavaIDEIntelliJIDEA中使用两种方式安装和导入MySQLJDBC驱动,包括从下载包导入和创建lib文件夹的方式,以及不同JDBC驱动版本的注意事项。

 解决方案:

对此,小编总结出两种解决方案,小编个人觉得第二种更方便简单,希望可以帮助到大家

方法一:

1.确保已经下载下驱动包,如若没有,

点击下载:MySQL :: Download Connector/J

默认为最新版本,红线部分可以切换至以前版本,这里我选择5.1.48的版本 ,如下图:

 

 2.导入驱动包

        (1)找到你下载下来的包中mysq-connector-java-5.1.48-bin.jar文件,如下图

         (2)找到你下载的jdk文件下面jre文件下面lib文件下面的ext文件

                完整目录:jdk\jre\lib\ext

        

 3.在idea中导入jar包

点击File=>Project Structure ...=>Modules =>Dependencies 

 

4. 成果展示:

 方法二:

  1.第一步同方法一的第一步一样,确保安装了驱动包

  2.在idea项目下创建lib文件夹存放mysq-connector-java-5.1.48-bin.jar驱动包,如下图:

3. 在右击mysq-connector-java-5.1.48-bin.jar驱动包,选中Add as Library ...,如下图:

 

 注:

        根据自己需求选择有效范围:

        1.Project Library :工程内有效

        2.Global Library :全局有效

        3.Module Library :项目内有效

3.成果展示:

 

代码如下:

package com.by.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class JDBCDemo {
    public static void main(String[] args) throws Exception{
//        1.注册驱动
        Class.forName("com.mysql.jdbc.Driver");

//        获取连接
        String url = "jdbc:mysql://127.0.0.1:3306/db1";
        String username = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url,username,password);

//       定义sql
        String sql = "update account set salary = 2000 where id = 1";

//        获取执行sql的对象Statement
        Statement stmt = conn.createStatement();

//        执行sql
        int count = stmt.executeUpdate(sql);

//        处理结果
        System.out.println(count);

//        释放资源
        stmt.close();
        conn.close();
    }
}

 注:

jdbc驱动包版本问题:

5.x版本的驱动文件jar包对应的是:

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

 String url = "jdbc:mysql://127.0.0.1:3306/db1";

 8.0x版本的数据库驱动文件,驱动的语句更改为:

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

String url = "jdbc:mysql://127.0.0.1:3306/db1?useUnicode=true&characterEncoding=UTF-8&userSSL=false&serverTimezone=GMT%2B8";

`java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver` 异常表示 Java 应用程序在尝试加载 MySQL 8.0 及以上版本的 JDBC 驱动类时,未能在类路径中找到该类,这通常会导致数据库连接失败。以下是一些常见的解决方法: ### 检查 MySQL JDBC 驱动是否添加 确保项目中已经添加了 MySQL 8.0 及以上版本的 JDBC 驱动(mysql-connector-java)。不同的项目构建工具添加方式不同: #### Maven 项目 在 `pom.xml` 文件中添加以下依赖: ```xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.26</version> <!-- 可根据需要选择合适的版本 --> </dependency> ``` #### Gradle 项目 在 `build.gradle` 文件中添加以下依赖: ```groovy implementation 'mysql:mysql-connector-java:8.0.26' // 可根据需要选择合适的版本 ``` #### 手动添加 如果没有使用构建工具,可以手动下载 MySQL JDBC 驱动的 JAR 文件,然后将其添加到项目的类路径中。具体步骤如下: 1. 从 [MySQL 官方网站](https://dev.mysql.com/downloads/connector/j/) 下载适合的 MySQL JDBC 驱动 JAR 文件。 2. 在 IDE 中,将下载的 JAR 文件添加到项目的类路径中。以 IntelliJ IDEA 为例,右键点击项目 -> `Open Module Settings` -> `Libraries` -> `+` -> `Java`,选择下载的 JAR 文件。 ### 检查驱动类名是否正确 在 8.0 以上的版本中,需要使用 `com.mysql.cj.jdbc.Driver` 作为驱动类名。确保代码中使用了正确的驱动类名,示例代码如下: ```java try { Class.forName("com.mysql.cj.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } ``` ### 检查类路径是否正确 确保 MySQL JDBC 驱动的 JAR 文件确实在项目的类路径中。可以通过以下方式检查: - 在 IDE 中查看项目的依赖设置,确保 JAR 文件已正确添加。 - 如果是在命令行中运行 Java 程序,确保在 `java` 命令中使用了 `-cp` 或 `-classpath` 参数指定了 JAR 文件的路径。例如: ```sh java -cp path/to/mysql-connector-java-8.0.26.jar:your-classpath YourMainClass ``` ### 检查版本兼容性 确保 MySQL JDBC 驱动的版本与 MySQL 数据库的版本兼容。不同版本的 MySQL 数据库可能需要不同版本的 JDBC 驱动。 ### 检查环境变量 如果使用的是全局的 Java 环境变量,确保 `CLASSPATH` 环境变量中包含了 MySQL JDBC 驱动的 JAR 文件路径。 通过以上步骤,应该可以解决 `java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver` 异常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值