/ / Connexion Java à la base de données MySQL - java, mysql, jdbc

Connexion Java à la base de données MySQL - java, mysql, jdbc

J'ai une base de données pour la pratique à phpMyAdmin. J'utilise XAMPP. Je commence très tôt à comprendre la connexion avec une base de données. Je suis un tutoriel et je pense comprendre le concept et que tout est cool. Mais je suis tombé sur un problème qui, malgré le fait qu’il existe des réponses sur Internet, ne me permet pas de le résoudre. voici mon code:

import java.sql.*;

public class DBConnect {

private Connection connection;
private Statement statement;
private ResultSet result;

public DBConnect(){
try {
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://localhost:1234/practicedb"); //code stucks here and after some minutes it is throwing an exception
System.out.println("Connected");//this is never executed.
statement = connection.createStatement();

} catch (Exception ex) {
System.out.print("Error in Constractor: "+ex);
}
}

public void getData() {

try {

String query = "select * from cars";

result = statement.executeQuery(query);
while (result.next()) {
String name = result.getString("carName");
String id = result.getString("carID");
String modelNum = result.getString("modelNumber");
System.out.println("Car name: " + name + ", " + "Car ID: " + id + ", " + "Car model number: " + modelNum);
}

} catch (Exception ex) {
System.out.println(ex);
}

}
}

Dans la classe principale, je crée une instance de la classe puis appelle le getData().

Le code colle dans cette ligne:

connection = DriverManager.getConnection("jdbc:mysql://localhost:1234/practicedb");

Et ça jette ça:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

Le dernier paquet envoyé avec succès au serveur était il y a 0 millisecondes. Le pilote n'a reçu aucun paquet de la part de server.java.lang.NullPointerException

Cette question similaire a été répondue ici: répondre

Mais les suggestions sont pauvres. J'ai essayé de faire la chasse aux dns. J'ai vérifié l'URL et c'est celui que je me connecte à la base de données sur phpmyadmin. J'ai changé de localhost à mon adresse ip. mais tous ceux qui ne travaillent pas.

J'apprécierais vraiment l'aide. Est-ce la première étape pour arriver à recevoir cette connaissance et je ne peux vraiment pas procéder pour le moment. Je vous remercie :)

  • J'ai remarqué que si je change de localhost:1234 à un type aléatoire tel que localhost: 5432, l'erreur est immédiatement générée. Mais quand je l’ai sur 1234 (que j’ai choisi comme port par le biais de la configuration xampp), le programme est exécuté environ 5 minutes avant d’être terminé, à l’exception

Réponses:

-3 pour la réponse № 1

En général, MySQL écoute sur le port par défaut 3306. Si votre base de données est nommée pratiquéb alors votre code devrait ressembler à ceci:

private Connection connection;

try {
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/practicedb");
System.out.println("Connected");
} catch (Exception ex) {
System.out.print("Error creating connection: "+ex);
}