¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
Cómo insertar usuarios en una base de datos MySQL
Anuncios
Publicidad

Cómo insertar usuarios en una base de datos MySQL con JDBC y PreparedStatement en Java

Este ejemplo en Java muestra cómo conectar con una base de datos MySQL usando JDBC para insertar registros en una tabla llamada usuarios.

Primero, se configuran los parámetros de conexión, como el host, puerto, nombre de la base de datos, usuario y contraseña.

Luego, el método insertarUsuarios utiliza un PreparedStatement para crear una consulta SQL parametrizada que inserta un nombre y correo electrónico en la tabla.

Esta técnica evita vulnerabilidades de seguridad como la inyección SQL y permite manejar la conexión y ejecución de forma segura y eficiente. Finalmente, el método main llama a insertarUsuarios para añadir un usuario de ejemplo, asumiendo que la base de datos y la tabla ya existen.

Requisitos previos:

  1. Base de datos ejemplodb debe existir.
  2. Tabla usuarios debe estar creada así (por ejemplo):

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


Cómo insertar usuarios en una base de datos MySQL
Cómo insertar usuarios en una base de datos MySQL
  1. Dependencia Maven (pom.xml):

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version> <!-- o la versión más reciente -->
</dependency>

Código completo:

package baseDeDatosMetodosSueltos;

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

1º Primero añadimos la dependencia en maven al fichero POM.


public class UsuarioDAO_01 {

// Variable constante estática de tipo String para Host, puerto, base de datos usada(debe existir)
// Finalmente, tenemos el usuario y la contraseña de la cuenta de LOCALHOST.
private static final String HOST = "localhost"; // IP o dominio del servidor MySQL
private static final String PUERTO = "3306"; // Puerto (por defecto 3306)
private static final String BASE_DATOS = "ejemplodb"; // Nombre de tu base de datos
private static final String USUARIO = "root"; // Tu usuario de MySQL
private static final String CONTRASEÑA = "1234";
// Pasamos la URL completa con todos los valores anteriores. Usamos el método format para dar formato
// a la URL
private static final String URL = String.format(
"jdbc:mysql://%s:%s/%s?useSSL=false&serverTimezone=UTC",
HOST, PUERTO, BASE_DATOS
);
// Creamos un método que recibe el nombre y el correo, estos datos van directos a la base de datos.


public static void insertarUsuarios(String nombre, String correo) throws SQLException
{
/* 1º hace que la consulta sea dinámica y parametrizada usando placeholders (?, ?). Luego, los
valores reales se asignan con.
2º Usamos la clase de conexión para conectarnos a la base de datos, pasamos la URL, USUARIO y Contraseña.
3º PreparedStatament permite enviar consultas parametrizados, usamos la conexión para accder y pasar la consulta.
4º Tras añadir las llaves verás que salta un aviso, tendrás que añadir throw sqlException a la firma.
*/
String sql = "INSERT INTO usuarios (nombre, correo) VALUES (?, ?)";
try(Connection con = DriverManager.getConnection(URL, USUARIO,CONTRASEÑA);
PreparedStatement stm = con.prepareStatement(sql))
{
// 1º Pasamos los datos para ello usamos la instancia creada con PreparedStatement.
// 2º Asignamos los valores al insert anterior:
stm.setString(1, nombre);
stm.setString(2, correo);

int filasInsertadas = stm.executeUpdate();
// Verifica que usuario existe, si las filas insertadas son mayores a cero. Imprime un aviso de que el usuario ha sido insertado:
if (filasInsertadas > 0) {
System.out.println("El usuario ha sido insertado");
}
}catch (SQLException e)
{
System.out.println("Error de usuario" + e.getMessage());

}
}

// Usamos el método y le pasamos los datos:
public static void main(String[] args) throws SQLException {

// Insertar un usuario en la base de datos:
// Recuerda, la base de datos debe existir y la tabla llamada usuarios. No debes
// pasar el ID de la columna, ya que es autoincremental.
insertarUsuarios("Tere","Tere@gmail.com");
}}

Vemos la tabla con los datos insertados:

Cómo insertar usuarios en una base de datos MySQL con JDBC

Seguir leyendo:

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

Deja una respuesta

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
error: Content is protected !!
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.