Estuvo bueno el ejercicio de borrar un usuario!
JDBC
Arquitectura de la API JDBC
¿Qué es Java Database Connection (JDBC)?
Métodos y componentes de JDBC
Conectando Java con bases de datos
Leer y crear datos con JDBC
Actualizar y eliminar datos con JDBC
CRUD
Clases y estructura del proyecto con IntelliJ y Maven
Optimización de recursos
Patrón DAO y Repository
Implementando el Patrón Repository
Leer Datos desde Java
Insertar Datos en Java
Eliminar Datos en Java
Visualizando bases de datos con Java Swing
Transacciones
¿Qué es una transacción?
Implementando transacciones con JDBC
Conexiones Pool
¿Qué es una conexión pool?
Implementando conexiones pool
JPA y ORM
¿Qué es JPA y ORM?
Instalación y configuración de Hibernate
Implementando JPA con Hibernete
Próximos pasos
Reto: crea un clon de Netflix con Java
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aprender a interactuar con bases de datos es esencial en el desarrollo de software. En esta sesión, nos centraremos en la actualización y eliminación de datos usando Java Database Connectivity (JDBC). Este conocimiento es clave para manipular datos eficazmente en Java, así como para gestionar información en nuestras aplicaciones. Vamos a sumergirnos en los detalles del código y los mejores momentos para aplicar estas operaciones.
Para actualizar datos en una base de datos con JDBC, iniciamos estableciendo la conexión, creando un Statement
y ejecutando la consulta de actualización con executeUpdate()
. Veamos este proceso en acción:
Connection myConn = DriverManager.getConnection("jdbc:mysql://localhost:3306/demo", "user", "password");
Statement
:
createStatement()
para crear un objeto Statement
.Statement myStmt = myConn.createStatement();
int rowsAffected = myStmt.executeUpdate("UPDATE employees SET email='[email protected]' WHERE firstName='Joanna'");
ResultSet
para ver los cambios.ResultSet myRs = myStmt.executeQuery("SELECT * FROM employees ORDER BY firstName");
while (myRs.next()) {
System.out.println(myRs.getString("firstName") + ", " + myRs.getString("email"));
}
Recuerda siempre manejar las excepciones que puedan surgir durante estas operaciones para diagnosticar cualquier problema fácilmente.
Los errores sintácticos son la trampa más común al escribir queries SQL. Un paréntesis mal colocado o usar comillas incorrectas puede detener la ejecución de todo el comando. Durante la creación del ejercicio, surgió un error en la consulta SQL por no cerrar correctamente comillas o paréntesis. Otros errores comunes se refieren a problemas de tipo de datos y errores al especificar columnas incorrectas. Aquí hay algunos consejos para evitarlos:
try-catch
para capturar y gestionar SQLException
.Eliminar datos es una de las operaciones cruciales en la gestión de bases de datos. La eliminación permanente de registros debe realizarse con precaución. Ahora, te mostraré cómo hacerlo usando JDBC:
Statement
.Statement myStmt = myConn.createStatement();
int rowsAffected = myStmt.executeUpdate("DELETE FROM employees WHERE firstName='Joanna'");
SELECT
para confirmar que el registro deseado ya no existe.ResultSet myRs = myStmt.executeQuery("SELECT * FROM employees");
while (myRs.next()) {
System.out.println(myRs.getString("firstName") + ", " + myRs.getString("email"));
}
Aunque ya hemos explorado estas operaciones básicas, es vital implementar prácticas de seguridad y eficiencia en tus consultas para proteger la integridad de tus datos. Aquí algunos consejos:
PreparedStatement
en lugar de Statement
para prevenir inyecciones SQL.Con este conocimiento sólido de JDBC, puedes comenzar a implementar funciones de CRUD efectivas y seguras en tus aplicaciones Java. ¡La práctica y el cuidado en la escritura de tus queries harán que te conviertas en un experto en el manejo de bases de datos! Adelante, sigue explorando y aprendiendo más sobre JDBC y otras tecnologías relacionadas.
Aportes 28
Preguntas 2
Estuvo bueno el ejercicio de borrar un usuario!
Logrado! 😊
Connection myConn = null;
Statement myStamt = null;
PreparedStatement myPrepStamt = null;
ResultSet myRes = null;
try {
myConn = DriverManager.getConnection(connString, user, password);
String sql = "DELETE FROM Users WHERE _last_Name = 'Ochoa'";
myPrepStamt = myConn.prepareStatement(sql);
int rowsAff = myPrepStamt.executeUpdate();
if(rowsAff > 0){
System.out.println("User deleted succesfully. Affected rows: " + rowsAff);
myStamt = myConn.createStatement();
sql = "SELECT * FROM Users";
myRes = myStamt.executeQuery(sql);
while (myRes.next()){
System.out.println(myRes.getString("_first_name") + ", " + myRes.getString("_last_name"));
}
}
} catch (Exception e){
System.err.printIn("An error has occurred: " + e.getMessage());
} finally {
myConn.close();
}
Me presento problema al actualizar el executeupdate, me toco quitar donde lo concatenaba con el + .
Lo coloque así y me permitió ya realizar el proceso, dejo comentada la línea que tenía antes siguiendo el ejemplo de la clase.
// int rowsAffected = myStamt.executeUpdate("UPDATE pb"+"set correo='micorreo.com'"+"WHERE id = '01'");
int rowsAffected = myStamt.executeUpdate("UPDATE pb SET correo='micorreo.com' WHERE id = '01'");
❤️
int rowsAffected = myStament.executeUpdate("INSERT INTO countries (name) VALUES ('Chile')"); // Create
int rowsAffected = myStament.executeUpdate("UPDATE countries SET name = 'Mexico' WHERE (id = 9)"); // Update
int rowsAffected = myStament.executeUpdate("DELETE FROM countries WHERE (id = 9)"); // Delete
myRest = myStament.executeQuery("SELECT * FROM countries order by id asc"); // Read
Exitoso
// Actualizar
int rowsAffected = myStamt.executeUpdate(“UPDATE employees SET name = ‘Victoria Soto’ WHERE nombre = ‘Luis’”);
if (rowsAffected > 0) {
System.out.println(“Empleado(s) actualizado(s) correctamente.”);
}
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?