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

在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当中)

image-20211015170325746

  • 此时配置的环境变量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包后,去除添加的环境变量->不可行

    JDBC 错误解决 [com.mysql.jdbc不存在]以及 [java.lang.NoClassDefFoundError]_第1张图片

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

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

    【一脸震惊】

    JDBC 错误解决 [com.mysql.jdbc不存在]以及 [java.lang.NoClassDefFoundError]_第2张图片

总结:

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

你可能感兴趣的:(mysql,java,数据库)