如何修复 JDBC 中的 SQLNonTransientConnectionException

How to fix SQLNonTransientConnectionException in JDBC

我正在尝试通过 Wamp 将我的 java 程序连接到 MySql 数据库,但我得到的只是过多的 SQL 异常。

我几乎尝试了 Whosebug 上的所有问题或查询或答案,但 none 的答案解决了我的问题....

也许我的问题会被标记为重复,但我不知道为什么其他答案中提到的解决方案对我不起作用,尽管得到了数百个赞成票。

这是我的代码

import java.sql.*;

public class SQLTest{
    private static Connection connect = null;
    public static void main(String[] args) {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            System.out.println("Trying to Establish Database Connection.....");
            //connect = DriverManager.getConnection("jdbc:mysql://localhost:8080/sys?user=root&password=root&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true");
            connect = DriverManager.getConnection("jdbc:mysql://localhost:8080/sys", "root", "root");
            System.out.println("Connection Established.");
        } catch (SQLException se) {
            System.out.println("connection problem");
            se.printStackTrace();
        } catch (Exception e){
            System.out.println("Some Other Problem.");
            e.printStackTrace();
        }
    }
}

这是我在return

中得到的

The default port in httpd.conf file was set to 8080. I dont know somehow 3306 works.

WAMP 堆栈由四个组件组成:Windows、Apache、MySQL 和 PHP。

A​​pache 是接收 HTTP 请求和 returns 网页的服务器软件。 httpd.conf是它的配置文件。 Apache 的默认端口是 80,但 WAMP 堆栈通常使用不同的端口,如 8080 用于开发目的。

MySQL 是接收 SQL 查询和 returns 来自这些查询的结果的组件。它侦听与 Apache 不同的端口。 MySQL 的配置文件是 my.ini。 MySQL 的默认端口是 3306。