java - 如何修复 JDBC 中的 SQLNonTransientConnectionException

标签 java mysql jdbc database-connection

我试图通过 Wamp 将我的 java 程序连接到 MySql 数据库,但我得到的只是大量的 SQL 异常。

我已经尝试了 Stackoverflow 上几乎所有可用的问题或查询或答案,但没有一个答案能解决我的问题....

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

这是我的代码

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();
        }
    }
}

这是我得到的返回

The output of program

最佳答案

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

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

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

MySQL 是接收 SQL 查询并返回这些查询结果的组件。它监听与 Apache 不同的端口。 MySQL 的配置文件是my.ini。 MySQL 的默认端口是 3306。

关于java - 如何修复 JDBC 中的 SQLNonTransientConnectionException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58133119/

相关文章:

java - 如何在多线程环境中生成PreparedStatement?

java - 在 nlp 中查找文本中的标记概率

java - 如何为 Microsoft Exchange 配置 JavaMail?

mysql - 有没有办法一次性用 WTD 值更新表的某一列?

java - Wicket TextField<BigDecimal> 默认显示 4 位小数,但允许(轻松)编辑精确值

mysql - 尝试连接两个表,其中一个命令首先获取标记行

php - 我只是找不到此 SQL 查询中的语法错误

java - log4j2 的 SQL 异常

Java boolean 函数,返回数据库中是否存在数据

java - Hibernate 集成访谈