[Java异常]ClassNotFoundException in Java

本文介绍了解决Java连接MySQL数据库时出现的java.lang.ClassNotFoundException异常的方法。主要原因是未导入MySQL JDBC驱动包,解决步骤包括下载并配置MySQL JDBC驱动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java中连接MySQL数据库接报错问题
报错:java.lang.ClassNotFoundException

Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at week5.ConnMySql.main(ConnMySql.java:12)片

原因:没有提前导入jar的包
解决方法:
1、下载MySQL JDBC驱动包(我下载的是mysql-connector-java-5.1.7-bin.jar)
下载地址:http://download.youkuaiyun.com/detail/u011381488/5758623或者去官网下载也可以
2、在eclipse→Project→Properties→Java Build Path→library→add library
具体过程http://blog.youkuaiyun.com/yanhui_wei/article/details/36011107

测试例子

package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/*
 * JDBC编程步骤
 * 1、加载数据库驱动 通常使用Class类的forName()静态方法来加载驱动
 * 2、建立数据库连接 通过DriverManager获取数据库连接 DriverManager.getConnection(url, user, password)
 * 3、创建语句 通过Connection对象创建Statement对象
 * 4、使用Statement执行SQL语句
 * 5、操作结果集
 * 6、回收数据库资源*/
public class ConnMySql {
    private static String url="jdbc:mysql://localhost:3306/javatest";
    private static String user="root";
    private static String pass="";
    public static void main(String[] args) {
        //1.加载驱动
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException cne) {
            throw new ExceptionInInitializerError(cne);
        }
        try(
                //2.建立数据库连接
                Connection conn = DriverManager.getConnection(url, user, pass);
                //3.创建语句
                Statement stmt = conn.createStatement();
                //---4.执行SQL语句---
                //select操作,从jdbc_user表中获取用户信息 
                ResultSet rs = stmt.executeQuery("select * "
                        + "from jdbc_user limit 0,6")
        ){//5.处理结果
            while(rs.next()){
                System.out.println(rs.getInt("jdbc_id")+"\t"
                        +rs.getString("jdbc_name")+"\t"
                        +rs.getString("jdbc_desc"));
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
        //
        }
    }
}

补充学习:
ClassNotFoundException错误的几种情况
1.类名有误
2.没有正确的导入jar包
3.没有正确导入此类中引用的类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值