¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
Actualizar datos en MySQL con Java

Actualizar datos en MySQL con Java usando PreparedStatement

Anuncios
Publicidad

En este ejemplo práctico veremos cómo actualizar registros en una base de datos MySQL desde Java utilizando PreparedStatement. Concretamente, modificaremos el nombre de un usuario en la tabla usuarios a partir de su ID. Este método es seguro, evita inyecciones SQL y es una base sólida para cualquier aplicación que necesite interactuar con bases de datos.

Requisitos:

  • Base de datos ejemplodb.
  • Tabla Usuarios.
  • Dependencia en el Pom.

CREATE database ejemplodb;

USE ejemplodb;

CREATE TABLE usuarios (
id INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100),
correo VARCHAR(100) UNIQUE
);

Tabla de datos antes de actualizar:

Actualizar datos en MySQL con Java usando PreparedStatement
Actualizar datos en MySQL con Java usando PreparedStatement

Código:

package baseDeDatosMetodosSueltos;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/**

Antes de comenzar: Crear una base de datos llamada ejemplodb y una tabla usuario.
1º Asignar los datos a las variables y establecer conexión a la base de datos.*/


public class ActualizarUsuario { 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";

private static final String URL = String.format(
"jdbc:mysql://%s:%s/%s?useSSL=false&serverTimezone=UTC",
HOST, PUERTO, BASE_DATOS);

// ¿Qué hace este método? Permite actualizar un usuario en función de un ID recibido, cambiamos
// el nombre recibido como parámetro.

// Añadimos la cláusula Throws SQLException a la firma del método. // Obtenemos los datos o el resultado de la consulta.

public static void updateUsuario(int id, String nombre) throws SQLException
{
// Añadimos la consulta SQL que permite actulizar los datos.
String consultaUpdate = "UPDATE usuarios SET nombre = ? WHERE id = ?"; // Ejecutar UPDATE


// Establecemos conexión a la base de datos con la clase Connection. Metemos todo dentro de try.
// Mandamos la consulta a la base de datos con PreparedStatement.

try(Connection conexionBaseDeDatos = DriverManager.getConnection(URL,USUARIO,CONTRASEÑA);
PreparedStatement enviarConsulta = conexionBaseDeDatos.prepareStatement(consultaUpdate))
{
// Asignamos los valores a los parámetros.
enviarConsulta.setString(1, nombre);// El orden coincide con los parámetros
enviarConsulta.setInt(2, id);
enviarConsulta.executeUpdate(); // Ejecutar la actualización

// Validar si la actualización ha tenido efecto
// Puedes usar el valor devuelto por executeUpdate() para saber si algún registro fue actualizado: int filasAfectadas = enviarConsulta.executeUpdate();
if (filasAfectadas > 0) {
System.out.println("Datos actualizados con éxito------> ");
System.out.println("El nombre recibido es: " + nombre + " El ID recibido es: " + id);
} else {
System.out.println("No se encontró ningún usuario con el ID: " + id);
}
}}

Main:

public static void main(String[] args) {
try {
updateUsuario(2, "Juan");

    } catch (SQLException e) {
        System.err.println("Error al leer los datos: " + e.getMessage());
    }
}

}

📎Insertar datos en una tabla de MySQL

Resultado:

Actualizar datos en MySQL con Java usando PreparedStatement

Seguir leyendo:

¿Cómo actualizar un registro en MySQL desde Java?

Para actualizar un registro en MySQL desde Java, puedes usar la clase PreparedStatemen junto con una sentencia SQL UPDATE. Esto permite modificar los datos de forma segura y eficiente, evitando inyecciones SQL.

¿Qué es PreparedStatement en Java?

PreparedStatement es una interfaz de Java que permite ejecutar sentencias SQL precompiladas con parámetros. Es más segura que usar Statement porque evita inyecciones SQL y mejora el rendimiento en consultas repetidas.

¿Cómo conectar Java con una base de datos MySQL?

Puedes usar DriverManager.getConnection() pasando la URL de conexión, el usuario y la contraseña. Asegúrate de tener el driver JDBC de MySQL en tu proyecto.

¿Qué pasa si el ID no existe en la base de datos?

Si el ID que se pasa como parámetro no existe en la tabla, la operación UPDATE no actualizará ningún registro. Puedes comprobar esto revisando el número de filas afectadas que devuelve el método executeUpdate().

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)

Deja un comentario

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
error: Content is protected !!
Scroll al inicio
Hablemos de informática
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.