/ / Conexión de Java a la base de datos mySQL - java, mysql, jdbc

Conexión de Java a la base de datos mySQL - java, mysql, jdbc

Tengo una base de datos para la práctica en phpMyAdmin. yo uso XAMPP. Estoy en etapas muy tempranas de aprender acerca de la conexión con una base de datos. Sigo un tutorial y creo que estoy entendiendo el concepto y todo está bien. Pero pise un problema que a pesar del hecho de que hay respuestas en Internet, no puedo resolverlo. Aquí está mi código:

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

}
}

En la clase principal creo una instancia de la clase y luego llamo al getData().

El código ataca en esa línea:

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

Y arroja que:

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

El último paquete enviado con éxito al servidor fue hace 0 milisegundos. El conductor no ha recibido ningún paquete de la server.java.lang.NullPointerException

Esta pregunta similar fue respondida aquí: responder

Pero las sugerencias son pobres. He intentado enjuagar dns. Revisé la URL y esta es la que me conecto a la base de datos en phpmyadmin. Cambié localhost a mi dirección IP. Pero todos esos simplemente no funcionan.

Realmente apreciaría la ayuda. Es el primer paso para lograr recibir ese conocimiento y, de hecho, no puedo continuar en este momento. Gracias :)

  • Me di cuenta de que si cambio el localhost:1234 a uno aleatorio como localhost: 5432 está lanzando el error inmediatamente. Pero cuando lo tengo en 1234 (que es el puerto que he elegido a través de xampp config), el programa se ejecuta durante aproximadamente 5 minutos antes de que termine con la excepción

Respuestas

-3 para la respuesta № 1

Por lo general, MySQL escucha en el puerto predeterminado 3306. Si su base de datos es nombrada practicado entonces su código debería verse así:

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