Cómo consultar un usuario en MySQL desde Java usando JDBC
Si estás aprendiendo a trabajar con bases de datos en Java, este ejemplo práctico te muestra cómo consultar un usuario específico en MySQL utilizando JDBC y PreparedStatement. Con una estructura clara y segura, el código conecta con la base de datos, ejecuta una consulta parametrizada y muestra el nombre del usuario correspondiente al ID proporcionado. Ideal para principiantes que quieren aprender a manejar conexiones y obtener datos desde Java de forma eficiente.
🗂️Cómo insertar usuarios en una base de datos MySQL con JDBC
Antes de seguir el código:
Antes de ejecutar este código, asegúrate de tener creada una base de datos en MySQL llamada ejemplodb, con una tabla llamada usuarios que contenga al menos las columnas id (entero) y nombre (cadena de texto). También debes tener el conector JDBC de MySQL añadido a tu proyecto y configurado correctamente. Este ejemplo te permitirá consultar el nombre de un usuario a partir de su ID usando una conexión segura con PreparedStatement.
Código completo:
package baseDeDatosMetodosSueltos;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class ConsultarUsuario {
// Creamos la base de datos en MySQL y declaramos las variables con los datos recopilados de la base de datos creada en MySQL.
private static final String HOST = "localhost";
private static final String PUERTO = "3306";
private static final String BASE_DATOS = "ejemplodb";
private static final String USUARIO = "root";
private static final String CONTRASEÑA = "1234";
// Montamos una URL predefinida con todo los datos anteriores:
private static final String URL = String.format(
"jdbc:mysql://%s:%s/%s?useSSL=false&serverTimezone=UTC",
HOST, PUERTO, BASE_DATOS);
// Este método recibe un ID de tipo entero, lo usaremos para confirmar dentro de la consulta.
// 1º Entablemos la conexión a la base de datos y le pasamos la URL Pre formateada de la conexión.
// 2º Mandamos la consulta a la base de datos con PreparedStatement. Si la consulta es con parámetros.
// 3º Añadimos a la firma del método Throws SQLException.
// 4º Asignamos el valor a la consulta con setInt.
// 5º Vemos el resultado, para ello ejecutamos la consulta:
// 6º Tras ejecutar la consulta, obtenemos el resultado.
public static void leerUsuario(int id) throws SQLException
{
String sql = "SELECT nombre FROM usuarios WHERE id = ?";
try(Connection conexion = DriverManager.getConnection(URL, USUARIO,CONTRASEÑA);
PreparedStatement envioConsulta = conexion.prepareStatement(sql))
{
envioConsulta.setInt(1, id);
// 7º ExecuteQuery ejecuta la consulta y devuelve el resulset.
try(ResultSet resultadoConsulta = envioConsulta.executeQuery())
{
if (resultadoConsulta.next())
{
// 8º Obtenemos el nombre.
String nombre = resultadoConsulta.getString("nombre");
System.out.println("El nombre asociado al ID es: " + nombre);
}
// 9º En caso de que el ID no exista lanzará un error.
else{System.out.println("No hay usuarios con el ID reflejado" + id);}
}
}
}
Main:
public static void main(String[] args) {
// 10º El método es estático no es necesario crear una instancia.
// 11º Envolvemos con un bloque try catch.
try {
leerUsuario(2);
} catch (Exception e)
{
System.err.println("Error al acceder a la base de datos: " + e.getMessage());
} }}
Resultado tras ejecutar: El nombre asociado al ID es: Belen

Resultado si el ID no se encuentra registrado: No hay usuarios con el ID reflejado. 5.



El siguiente error tiene lugar si introduces mal los datos de la base de datos, por ejemplo la contraseña:



Seguir leyendo:




