一、最重要的一步
在加载外部库后,不能使用 Code Runner 插件运行,必须使用Java插件提供的 Run 按钮。
二、版本不对称
第一步:检查项目中是否引入mysql-connector-java驱动包,如果没引入,请先引入对应版本的该包。
第二步:检查mysql-connector-java驱动包的版本和配置的driver-class-name(驱动类名)是否一致。如果不一致会导致找不到Driver类,必须将版本和配置的驱动类名对应一致。
不同版本的mysql-connector-java驱动包的Driver类所在的位置不同,在5.x版本中Driver类在com.mysql.jdbc包路径下,到了6.x以上版本中Driver类在com.mysql.cj.jdbc包路径下。
如果我们在项目中配置的driver-class-name为com.mysql.jdbc.Driver,则对应的mysql-connector-java版本应该是5.x。
如果我们在项目中配置的driver-class-name为com.mysql.cj.jdbc.Driver,则对应的mysql-connector-java版本应该是6.x以上版本的。
三、缺失JDBC的驱动包
解决方法:
1.去Mysql官网下载最新版的驱动包
2.创建项目环境,导入数据库驱动
- 在Eclipse中新建一个java项目,使用鼠标右键单击项目名称
- 然后选择【New】→【Folder】,在弹出的窗口中将该文件命名为lib并单击【Finish】按钮
- 将下载好的Mysql数据库驱动文件mysql-connector-java-5.1.49-bin.jar复制到项目lib目录中
- 使用鼠标右键单击该JAR包,在弹出框中选择二【Build Path】→【Add to Build Path】,此时Eclipse会将该JAR包发布到类路径下。加入驱动后的项目结构如图所示:
四、MySQL版本和配置的区别问题
com.mysql.jdbc.Driver 是 mysql-connector-java 5中的
JDBC连接Mysql5 com.mysql.jdbc.Driver:org.quartz.dataSource.qzDS.driver:com.mysql.jdbc.Driver org.quartz.dataSource.qzDS.URL:jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=UTF-8com.mysql.cj.jdbc.Driver 是 mysql-connector-java 6以上版本中的
JDBC连接Mysql6 com.mysql.cj.jdbc.Driver, 需要指定时区serverTimezone:#org.quartz.dataSource.qzDS.driver:com.mysql.cj.jdbc.Driver #org.quartz.dataSource.qzDS.URL:jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false如果你用的mysql-connector-java 5,配置的是com.mysql.cj.jdbc.Driver的配置就会报java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver这个错误。
如果你用的mysql-connector-java 6以上版本的,配置的是com.mysql.jdbc.Driver的配置也会出现错误,总之MySQL版本一定要与其配置对应好。
五、无法连接mysql数据库8.0.1的问题
上面这段报错中红色的文字很重要,这段文字告诉你mysql8.0和之前版本的区别,首先驱动换了,不是com.mysql.jdbc.Driver而是'com.mysql.cj.jdbc.Driver',此外mysql8.0是不需要建立ssl连接的,你需要显示关闭。最后你需要设置CST。所以我们需要在之前我们熟悉的java连接数据库代码的基础之上改动以下两行代码
加载驱动类 // static final String URL = "jdbc:mysql://localhost:3306/test?useSSL=false"; String URL = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC"; 建立连接 // String path = "com.mysql.jdbc.Driver"; String path = "com.mysql.cj.jdbc.Driver";
关于用Vscode进行Java数据库编程出现java.lang.ClassNotFoundException:com.mysql.cj.jdbc.Driver问题详细解决方案
于 2022-05-12 15:40:01 首次发布



上面这段报错中红色的文字很重要,这段文字告诉你mysql8.0和之前版本的区别,首先驱动换了,不是com.mysql.jdbc.Driver而是'com.mysql.cj.jdbc.Driver',此外mysql8.0是不需要建立ssl连接的,你需要显示关闭。最后你需要设置CST。所以我们需要在之前我们熟悉的java连接数据库代码的基础之上改动以下两行代码
1181

被折叠的 条评论
为什么被折叠?



