JDBC 错误解决 [com.mysql.jdbc不存在]以及 [java.lang.NoClassDefFoundError]

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 在JDBC的第一步,编译和运行就出现了错误,花了好久莫名其妙解决了,于是写这篇博客复盘一下解决的过程,希望能给帮到遇到一样问题的小伙伴

在JDBC的第一步,编译和运行就出现了错误,花了好久莫名其妙解决了,于是写这篇博客复盘一下解决的过程,希望能给帮到遇到一样问题的小伙伴(PS.虽然解决了,但其实并不明白原理,希望能够得到大佬的解答)


代码:


/*
  JDBC的六个步骤
*/
import java.sql.DriverManager;
import java.sql.Driver;
import java.sql.SQLException;
public class JDBCTest01{
  public static void main(String[] args){
    try{
      //第一步:注册驱动
      Driver driver = new com.mysql.jdbc.Driver();
      DriverManager.registerDriver(driver);
      System.out.println(driver);
    }catch(SQLException e){
      e.printStackTrace();
    }
  }
}


问题1 com.mysql.jdbc不存在:在使用DOS窗口运行Java程序连接数据库时出现找不到包的错误提示(jar包地址已经配置到系统环境变量classpath当中)


4a3a8dcce542832f3905dd6d6d7af804.png


  • 此时配置的环境变量CLASSPATH


.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;E:\JavaProjects\03-JDBC\mysql-connector-java-5.1.23-bin.jar


  • 解决措施:将jar包移动至C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext目录下,编译通过,但是运行报错,显示 java.lang.NoClassDefFoundError: com/mysql/jdbc/Driver


问题2 java.lang.NoClassDefFoundError:


  • 背景:加了jar包后,编译通过运行不可通过,此时环境变量为


.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;E:\JavaProjects\03-JDBC\mysql-connector-java-5.1.23-bin.jar


  • 尝试方法1:加了jar包后,去除添加的环境变量->不可行


af5037d9bd4309feed8a167792bd48a1.png


  • 尝试方法2:加了jar包后,更改环境变量->可行


.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;.\mysql-connector-java-5.1.23-bin.jar


【一脸震惊】


728b06132f966cab0c4b435bbadc5a49.png


总结:


第一次写博客花了很多时间解决图片、格式等问题,但是还是很有收获滴,因此决定写博客分享自己的学习日记,还请各位多多指教!

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
关系型数据库 MySQL Java
【MySQL+java+jpa】MySQL数据返回项目的感悟
【MySQL+java+jpa】MySQL数据返回项目的感悟
41 1
|
1月前
|
关系型数据库 MySQL Java
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
52 0
|
15天前
|
SQL Java 关系型数据库
java连接mysql查询数据(基础版,无框架)
【10月更文挑战第12天】该示例展示了如何使用Java通过JDBC连接MySQL数据库并查询数据。首先在项目中引入`mysql-connector-java`依赖,然后通过`JdbcUtil`类中的`main`方法实现数据库连接、执行SQL查询及结果处理,最后关闭相关资源。
|
1月前
|
关系型数据库 MySQL Java
java协程操作mysql数据库
本文介绍了如何在Java项目中使用虚拟线程和协程操作MySQL数据库,并通过代码示例展示了如何利用CompletableFuture实现非阻塞数据库连接和操作。
25 2
java协程操作mysql数据库
|
22天前
|
Java 关系型数据库 MySQL
mysql5.7 jdbc驱动
遵循上述步骤,即可在Java项目中高效地集成MySQL 5.7 JDBC驱动,实现数据库的访问与管理。
66 1
|
1月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
79 0
|
1月前
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
35 0
|
1月前
|
SQL 分布式计算 关系型数据库
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
44 0
|
2天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
14 4
|
26天前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
58 3
Mysql(4)—数据库索引
下一篇
无影云桌面