Java中出现No suitable driver found SQLException问题求助
解决Java连接MySQL的报错问题
1. 先改最明显的拼写错误
你代码里的连接字符串开头写成了jdbs,这是低级笔误,正确的协议前缀是jdbc,修改后:
public static final String CONN_STRING = "jdbc:mysql://localhost:3306/?user=root&password=root";
2. 确认连接器与MySQL版本匹配
- 要是你用的是MySQL 8.0及以上版本,必须对应
mysql-connector-java 8.0+的jar包,驱动类com.mysql.cj.jdbc.Driver是对的; - 要是MySQL是5.x版本,驱动类得换成
com.mysql.jdbc.Driver,同时连接器也要用5.x版本,别搞混。
3. 检查NetBeans里jar包的添加是否真的生效
别只把jar包扔项目目录里,得确保NetBeans把它加入了项目依赖:
- 右键项目 → 选
Properties; - 进入
Libraries选项卡; - 点
Add JAR/Folder,找到你的mysql-connector-java.jar添加进去; - 确认
Libraries列表里能看到这个jar包,而且编译、运行时都能加载到(可以右键jar包选Clean and Build项目试试)。
4. 优化连接字符串(避免额外报错)
- 如果要连接具体数据库,比如
test库,把路径改成jdbc:mysql://localhost:3306/test?user=root&password=root; - MySQL 8.0+建议加上时区参数,防止时区不匹配报错:
jdbc:mysql://localhost:3306/test?user=root&password=root&serverTimezone=UTC
5. 简化代码(可选)
从JDBC 4.0开始,只要jar包正确,不用手动调用Class.forName(DRIVER_NAME),DriverManager会自动加载驱动,你可以删掉这段代码试试。
修改后的完整代码示例:
package javaapplicationdatabase; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class JavaApplicationDataBase { public static final String CONN_STRING = "jdbc:mysql://localhost:3306/?user=root&password=root&serverTimezone=UTC"; public static void main(String[] args) { try { Connection conn = DriverManager.getConnection(CONN_STRING); System.out.println("连接成功!"); conn.close(); } catch (SQLException ex) { System.out.println("连接失败:" + ex.getMessage()); ex.printStackTrace(); // 打印完整错误栈,方便排查具体问题 return; } } }
内容的提问来源于stack exchange,提问作者chloe
相关产品推荐
相关产品推荐

