NetBeans无法连接MySQL?请求排查并修正连接错误
错误修正建议及连接器说明
异常原因分析
java.sql.SQLNonTransientConnectionException: Cannot load connection class because of underlying exception: com.mysql.cj.exceptions.WrongArgumentException: Failed to parse the host:port pair 'localhost:3306:employee'.
这个异常的直接原因是JDBC URL格式错误,端口与数据库名之间误用冒号分隔,正确格式需用斜杠。
具体修正步骤
1. 修正JDBC URL
原错误URL:
String dbURL = "jdbc:mysql://localhost:3306:employee";
改为正确格式:
String dbURL = "jdbc:mysql://localhost:3306/employee";
(主机+端口后用/指定目标数据库,而非冒号)
2. 修复SQL语句语法错误
原INSERT语句缺失字段列表的左括号,且末尾多余分号:
String query = "INSERT INTO user Email, FirstName, LastName) VALUES ('xx@gmail.com', 'Andrea', 'Stee');";
改为正确写法:
String query = "INSERT INTO user (Email, FirstName, LastName) VALUES ('xx@gmail.com', 'Andrea', 'Stee')";
3. (可选)适配MySQL 8.0+驱动类
若使用MySQL 8.0及以上版本的驱动,建议将旧驱动类:
Class.forName("com.mysql.jdbc.Driver");
替换为新版驱动类:
Class.forName("com.mysql.cj.jdbc.Driver");
注:MySQL 8.0+的JDBC驱动无需手动调用Class.forName()加载,DriverManager会自动识别加载,可省略这段代码。
关于Web应用的连接器问题
Web应用必须添加MySQL JDBC连接器:
- 若用Maven管理项目,在pom.xml中添加依赖:
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.33</version> <!-- 替换为实际使用的版本号 --> </dependency>
- 若为普通Web项目,直接将
mysql-connector-java-x.x.xx.jar复制到项目的WEB-INF/lib目录下即可。
内容的提问来源于stack exchange,提问作者bib
相关产品推荐
相关产品推荐

