Java连接MySQL报No suitable driver found错误,求解决方案
Java连接MySQL报错"No suitable driver found"的排查与解决
核心错误分析
从报错信息java.sql.SQLException: No suitable driver found for jbdc://localhost:3306/rede_hoteis可以看到,最直接的问题是数据库URL拼写错误,把jdbc写成了jbdc,这会导致DriverManager无法识别正确的数据库协议,直接触发找不到驱动的错误。
分步解决步骤
- 修正数据库URL拼写
打开Conexao.java,将URL中的jbdc改为jdbc:
// 修正前 private static final String url = "jbdc://localhost:3306/rede_hoteis"; // 修正后 private static final String url = "jdbc://localhost:3306/rede_hoteis";
确认MySQL JDBC驱动已正确引入
确保你的项目中已经添加了对应版本的MySQL JDBC驱动:- 若使用Maven,在
pom.xml中添加依赖(以MySQL 8.0.33为例):<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.33</version> </dependency> - 若手动管理依赖,下载对应版本的驱动jar包,放入项目的
lib目录并添加到类路径中。
- 若使用Maven,在
优化异常排查能力
你的itens_lavanderiaDAO.java中异常处理为空,建议添加异常打印,方便后续排查其他问题:
catch (Exception e) { e.printStackTrace(); // 打印异常栈信息,快速定位问题 }
- 其他验证项
- 确认MySQL服务正在运行,端口
3306未被占用 - 确认数据库
rede_hoteis已创建 - 确认用户名
root和密码1234拥有访问该数据库的权限
- 确认MySQL服务正在运行,端口
关于Class.forName的说明
MySQL 8.0+版本的驱动com.mysql.cj.jdbc.Driver会自动注册到DriverManager,因此可以删除App.java中的Class.forName("com.mysql.cj.jdbc.Driver");语句,不影响连接;若保留该语句,只要驱动存在也能正常运行。
内容的提问来源于stack exchange,提问作者Gabriel Santos
相关产品推荐
相关产品推荐

