You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java连接免费SQL数据库报错:com.mysql.jdbc.Driver类未找到求助

解决Java连接MySQL时的ClassNotFoundException问题

你碰到的java.lang.ClassNotFoundException: com.mysql.jdbc.Driver错误,本质是项目里没引入MySQL的JDBC驱动包,导致JVM找不到这个驱动类。下面是具体解决步骤:

1. 明确驱动版本对应关系

com.mysql.jdbc.Driver是MySQL JDBC驱动5.x版本的类名,如果你用的是Java 8及以上版本,更推荐用8.x版本的驱动(类名是com.mysql.cj.jdbc.Driver),而且JDBC 4.0+规范(Java 6及以上支持)会自动加载驱动,不需要手动写Class.forName()代码。

2. 给项目添加驱动依赖

若用Maven管理项目

直接在pom.xml里添加以下依赖:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.33</version> <!-- 可替换为最新稳定版 -->
</dependency>

添加后刷新Maven,依赖会自动下载。

若为普通Java项目(无构建工具)

  • 下载对应版本的MySQL驱动jar包(比如mysql-connector-java-8.0.33.jar)
  • 在项目根目录新建lib文件夹,将jar包放入其中
  • 在IDE中把jar包添加为项目库:
    • IDEA:右键lib里的jar包 → 选择「Add as Library」
    • Eclipse:右键项目 → 「Build Path」→ 「Add External Archives」,选中下载的jar包

3. 调整代码(适配8.x驱动)

用8.x驱动的话,代码可简化,同时建议在JDBC URL中加入时区参数,避免时区相关报错:

import java.sql.*;

public class Main {
    public static void main(String[] args) {
        Connection connection = null;
        try {
            // 8.x驱动无需手动加载Class.forName
            String url = "jdbc:mysql://sql9.freesqldatabase.com:3306/sql9581604?useSSL=false&serverTimezone=UTC";
            connection = DriverManager.getConnection(url, "sql9581604", "ih8h2nhpxC");
            System.out.println("数据库连接成功!");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 用完连接记得关闭,避免资源浪费
            try {
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

额外注意事项

  • 驱动版本要和MySQL服务器版本兼容,8.x驱动可兼容5.7及以上的MySQL服务器,免费数据库平台基本都是新版本,用8.x没问题
  • 确保驱动jar包确实被项目类加载器识别,不要随意放在无关目录里

内容的提问来源于stack exchange,提问作者Bean

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 06:26:27