已解决java.lang.ClassNotFoundException——java连接mysql8/mysql5

1.准备工作

1.mysql8下载安装

这里大家没必要去mysql官网安装,可以直接安装phpStudy_pro,毕竟小皮面板的宣言是让天下没有难配的服务器环境,如下是小皮面板的界面(同样的,此次用到的所有资料文末公众号可免费领取):
在这里插入图片描述

2.下载连接mysql的jar包

官网下载或者找公众号免费资料包均可:
官网地址:https://downloads.mysql.com/archives/c-j/
在这里插入图片描述

2.引入jar包

1.项目或模块上右键选择open moudle settings

在这里插入图片描述

2.引入jar包

在这里插入图片描述
点击+号引入刚刚下载的jar包,然后点击apply->ok即可!

3.测试连接是否成功

到目前为止,我们所有的依赖就引入成功了,那么我们下一步就是测试是否能成功连接数据库,我用的示例代码如下:

package util;
import java.sql.*;
public class JDBC {
    // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL
//    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
//    static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB";

    // MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL
    static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://localhost:3306/education?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";

    //java项目www.fhadmin.org
    // 数据库的用户名与密码,需要根据自己的设置
    static final String USER = "root";
    static final String PASS = "123456";

    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        try{
            // 注册 JDBC 驱动
            Class.forName(JDBC_DRIVER);

            // 打开链接
            System.out.println("连接数据库...");
            conn = DriverManager.getConnection(DB_URL,USER,PASS);

            // 执行查询
            System.out.println(" 实例化Statement对象...");
            stmt = conn.createStatement();
            String sql;
            sql = "SELECT * FROM news";
            ResultSet rs = stmt.executeQuery(sql);

            // 展开结果集数据库
            while(rs.next()){
                // 通过字段检索
                int id  = rs.getInt("id");
                // 输出数据
                System.out.print("ID: " + id);

            }
            // 完成后关闭
            rs.close();
            stmt.close();
            conn.close();
        }catch(SQLException se){
            // 处理 JDBC 错误
            se.printStackTrace();
        }catch(Exception e){
            // 处理 Class.forName 错误
            e.printStackTrace();
        }finally{
            // 关闭资源
            try{
                if(stmt!=null) stmt.close();
            }catch(SQLException se2){
            }// 什么都不做
            try{
                if(conn!=null) conn.close();
            }catch(SQLException se){
                se.printStackTrace();
            }
        }
        System.out.println("Goodbye!");
    }

}

在这里插入图片描述
示例代码不同,结果也可能不同,大家只要关注能不能成功的对数据库中的数据进行增删改查等操作即可。
到这异步,Java连接mysql8数据库就成功了,如果要连接mysql8一下的版本,示例代码有说明怎么去略微修改连接代码,然后大家把引入的jar包改成数据库对应版本的就可以了!

ps:如果大家在测试过程中出现这个报错:
在这里插入图片描述
那么大概率就是大家jar包引入错了,博主这里尝试半天才发现是引入错了,就怪无语的。。。

这是由于缺少MySQL JDBC驱动程序造成的,请尝试安装并加载该驱动程序。 这个问题是由于Java应用程序在运行时无法找到MySQL JDBC驱动程序所引起的。Java应用程序需要使用MySQL JDBC驱动程序才能与MySQL数据库进行通信。 要解决这个问题,您需要安装MySQL JDBC驱动程序并将其加载到您的Java应用程序中。您可以从MySQL官方网站上下载最新版本的MySQL JDBC驱动程序。下载后,将驱动程序的JAR文件添加到您的应用程序类路径中。 如果您使用的是Maven项目,则可以将MySQL JDBC驱动程序的依赖项添加到项目的pom.xml文件中。 如果您已经将MySQL JDBC驱动程序添加到应用程序类路径中但仍然遇到此错误,则可能需要检查驱动程序的版本和应用程序的Java版本是否兼容。确保使用的驱动程序版本与您的应用程序使用的Java版本兼容。 最后,您还可以检查您的代码中是否正确地加载了MySQL JDBC驱动程序。确保使用正确的类名和方法名加载驱动程序,并确保您的代码没有任何拼写错误或语法错误。是的,您的理解是正确的。"causedby:java.lang.classnotfoundexception:com.mysql.jdbc.driver"错误通常发生在Java应用程序试图连接MySQL数据库时。如果应用程序没有正确地加载MySQLJDBC驱动程序,就会出现这个错误。 解决这个问题的一种常见方法是下载并安装最新版本的MySQLJDBC驱动程序,并将其添加到您的应用程序类路径中。如果您使用的是Maven项目,则可以将MySQLJDBC驱动程序的依赖项添加到项目的pom.xml文件中。 确保您的代码正确地加载了MySQLJDBC驱动程序,使用正确的类名和方法名,并检查您的代码中是否有任何拼写错误或语法错误。最后,请确保您的应用程序使用的MySQLJDBC驱动程序版本与应用程序使用的Java版本兼容。这个错误信息表明,Java在尝试加载MySQL驱动程序时找不到所需的类。这可能是由于以下原因之一引起的: 1. 没有正确安装MySQL驱动程序。 2. 没有将MySQL驱动程序添加到Java应用程序的类路径中。 3. MySQL驱动程序的版本与Java应用程序不兼容。 4. 在代码中拼写了不正确的类名。 要解决这个问题,你需要确保已正确安装MySQL驱动程序,并将其添加到Java应用程序的类路径中。你还应该检查MySQL驱动程序的版本是否与Java应用程序兼容,并确保在代码中使用正确的类名。这个错误通常表示在运行时找不到MySQL数据库驱动程序。这可能是由于以下原因之一引起的: 1. 未正确添加MySQL数据库驱动程序到项目的classpath中。请确保将MySQL数据库驱动程序添加到您的项目中,可以通过将MySQL驱动程序JAR文件复制到您的项目的lib目录中并将其添加到类路径中来实现。 2. MySQL数据库驱动程序版本不兼容。请检查您使用的MySQL数据库驱动程序版本是否与您的项目中使用的版本兼容。 3. MySQL数据库服务未启动。请确保您的MySQL数据库服务已启动并正在运行。 您可以尝试解决上述问题来修复这个错误。如果问题仍然存在,请提供更多信息以帮助我更好地理解问题的背景和上下文。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北国137

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值