IDEA,tomcat时候使用jdbc连接mysql,出现java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver,lib的位置有问题

java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver

在编译代码的时候出现这个问题
在这里插入图片描述

我先检查了一下是否导入了包:
在这里插入图片描述
再三确认之后,确实包是成功导入了的,并且通过ctrl点击代码,能够成功的进入到Driver包。

这我就纳闷了,包也导入了,并且在代码中也能成功进入了,为什么会出现ClassNotFoundException这个错误呢,包的版本也没有错。

为了排除其他错误,我又编写了一个test测试类

public class test {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1.加载驱动
        DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());
        //Class.forName("com.mysql.cj.jdbc.Driver");

        //2.用户信息和URL
        String url = "jdbc:mysql://localhost:3306/dbhomework?useUnicode=true&characterEncoding=UTF8&useSSL=true&serverTimezone=UTC";
        String username = "root";
        String password = "lixv298618";

        //3.连接成功数据库对象 Connection代表数据库
        Connection connection = DriverManager.getConnection(url, username, password);

        //4.执行SQL的对象
        Statement statement = connection.createStatement();

        //5.执行SQL的对象去执行SQL,可能存在结果,查看返回结果
        String sql = "SELECT * FROM STUDENT";
        ResultSet resultSet = statement.executeQuery(sql);//返回的结果集

        while (resultSet.next()){
            System.out.print(resultSet.getString(1)+" ");
            System.out.print(resultSet.getString("Sname")+" ");
            System.out.print(resultSet.getString(3)+" ");
            System.out.print(resultSet.getInt("Age")+" ");
            System.out.println(resultSet.getString(5)+" ");
        }

        //6.释放连接
        resultSet.close();
        statement.close();
        connection.close();
    }
}

点击运行之后,神奇的事情出现了,错误消失了,控制台成功的打印出来了数据库的数据
在这里插入图片描述
最后还是问了老师,所幸老师知道这个问题,用idea的Tomcat需要把包放在WEB_INF目录下的lib文件中,试了一下
在这里插入图片描述
运行很流畅,问题解决,perfect
在这里插入图片描述
界面很吓人,数据很随意,哈哈

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

木子 旭

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

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

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

打赏作者

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

抵扣说明:

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

余额充值