Eclipse中JDBC连接MySQL报com.mysql.jdbc.Driver类找不到如何解决
Eclipse JDBC连接MySQL及
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver异常解决方案 异常根因
将JDBC驱动jar包放入项目目录不等于Eclipse会自动将其加入运行时、部署时的类路径,绝大多数该场景下的类找不到异常都源于类路径配置缺失,少部分由驱动类名写错、驱动与数据库版本不匹配导致。
分步解决流程
- 确认jar包存放路径正确
动态Web项目的运行时依赖必须存放在WEB-INF/lib目录下:如果是传统Eclipse动态Web项目,路径为WebContent/WEB-INF/lib;如果是Maven结构的Web项目,路径为src/main/webapp/WEB-INF/lib。不要将jar包放在项目根目录自定义的lib文件夹下,这类路径不会被Web容器识别。jar包放入后右键项目点击Refresh刷新。 - 配置部署装配(最高发漏项)
右键项目选择Properties,找到Deployment Assembly(部分老版本Eclipse显示为Web Deployment Assembly):- 点击右侧
Add按钮 - 选择
Java Build Path Entries后点击Next - 在列表中选中你导入的MySQL JDBC驱动jar包,点击Finish
- 确认配置列表中存在
WEB-INF/lib/[你的mysql驱动jar包文件名]的映射条目,点击Apply and Close保存配置
- 点击右侧
- 校验驱动类名与版本匹配关系
注意:MySQL 8.0及以上版本的JDBC驱动类名已变更,旧类名com.mysql.jdbc.Driver仅适用于5.x版本驱动:- MySQL 5.x版本:搭配5.1.x系列JDBC驱动,驱动类填
com.mysql.jdbc.Driver - MySQL 8.x版本:搭配8.0.x系列JDBC驱动,驱动类填
com.mysql.cj.jdbc.Driver
- MySQL 5.x版本:搭配5.1.x系列JDBC驱动,驱动类填
- 清理缓存重启服务
配置完成后,先点击Eclipse顶部菜单Project -> Clean清理项目编译缓存,再右键你使用的Web容器(如Tomcat)选择Clean清理容器部署缓存,重启容器即可。
标准JDBC连接参考代码
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class MysqlJdbcDemo { public static void main(String[] args) { // 8.0+版本连接地址需配置时区参数,5.x版本可删除serverTimezone配置 String jdbcUrl = "jdbc:mysql://localhost:3306/你的数据库名?useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai"; String dbUser = "你的数据库账号"; String dbPwd = "你的数据库密码"; Connection connection = null; try { // 加载驱动 Class.forName("com.mysql.cj.jdbc.Driver"); // 建立连接 connection = DriverManager.getConnection(jdbcUrl, dbUser, dbPwd); System.out.println("数据库连接成功:" + connection); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } finally { // 补充连接资源关闭逻辑 if (connection != null) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } } }
内容的提问来源于stack exchange,提问作者Junior DEV 79
相关产品推荐
相关产品推荐

