gpt4 book ai didi

java - mySQL 连接无法工作

转载 作者:行者123 更新时间:2023-11-29 10:56:42 24 4
gpt4 key购买 nike

我无法使用 Eclipse 连接到 mySQL,并且不明白为什么。

这是我的连接类:

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;

public class ConnexionBDD {

static String url = "jdbc:mysql://localhost:8888/Peoples?autoReconnect=true&useSSL=false";
static String login = "root";
static String password = "";

static Connection connection = null;
static Statement statement = null;
static ResultSet result = null;
static String request = "";

public static void main (String[] args) {

System.out.println("will load driver");
loadingDrive();
System.out.println("will connect");
connection();

}

public static void loadingDrive() {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch ( ClassNotFoundException e ) {
e.getMessage();
}
}

public static void connection() {
try
{
connection = (Connection) DriverManager.getConnection(url, login, password);
System.out.println("Connected");
statement = (Statement) connection.createStatement();

result = statement.executeQuery(request);

}
catch ( SQLException e )
{
System.out.println(e.getMessage());
} finally {
if ( result != null ) {
try {
result.close();
} catch ( SQLException ignore ) {
}
}
if ( statement != null ) {
try {
statement.close();
} catch ( SQLException ignore ) {
}
}
if ( connection != null ) {
try {
connection.close();
} catch ( SQLException ignore ) {
}
}
}
}
}

这是控制台中的结果:

will load driver
will connect
Could not create connection to database server. Attempted reconnect 3 times. Giving up.

我在文件 WebContent/WEB-INF/lib 中有连接器 (mysql-connector-java-5.1.41-bin.jar)。

我在我的 Mac 上安装了 mySQL。我安装了 MAMP,我可以访问 phpmyadmin 并添加一个新数据库,但这有点奇怪,phpmyadmin 已经默认记录,单击“退出”按钮不会断开我的连接,我不知道为什么..

phpmyadmin 的网址是: http://localhost:8888/phpmyadmin/index.php

为什么我无法连接到 mySQL?

编辑:在检查 MAMP 上的 mySQL 端口后,我使用正确的端口 (8889) 更改了 url,但控制台的输出没有任何变化。

最佳答案

MySQL 和 phpMyAdmin 不能位于同一端口。

您确定您的 MySQL 没有在默认端口上运行吗? 3306

更新:

如果您尚未使用 Maven,请立即使用。它将帮助您管理包裹。这样你就可以避免你的方法:loadingDrive()

我刚刚使用测试数据库在本地运行了您的代码。它对我来说运行良好。

我对您的代码进行了以下更改:

我删除了loadingDrive()request 更改为 static String request = "SELECT 1";。此查询字符串非常适合测试与数据库的连接是否正常工作。

我将请求打印到控制台:

result = statement.executeQuery(request);

System.out.println(result.next());

我将 mysql jdbc 连接器添加到我的 pom.xml 文件中:

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>

之后我运行了代码,这是控制台输出:

will connect
Connected
true

我仍然认为你的 MySQL 端口是错误的。你本地运行MySQL吗?您可以使用 phpMyAdmin 连接到它吗?

我尝试更改 url 以包含错误的端口。然后我收到:

Could not create connection to database server. Attempted reconnect 3 times. Giving up.

所以我坚信你的端口是错误的。您可以尝试将您的 url 更改为以下内容吗?

static String url = "jdbc:mysql://localhost:3306/Peoples?autoReconnect=true&useSSL=false";

关于java - mySQL 连接无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42923035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com