Commit DAO y conexion
This commit is contained in:
parent
70817a4176
commit
be8ece40d6
|
@ -0,0 +1,26 @@
|
||||||
|
package mx.uv;
|
||||||
|
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
|
||||||
|
public class Conexion {
|
||||||
|
private static String url = "jdbc:mysql://127.0.0.1:3306/?user=pastel";
|
||||||
|
private static String driverName = "com.mysql.cj.jdbc.Driver";
|
||||||
|
private static String username = "pastel";
|
||||||
|
private static String password = "pastel";
|
||||||
|
// variable de conexion
|
||||||
|
private static Connection connection = null;
|
||||||
|
|
||||||
|
public static Connection getConnection(){
|
||||||
|
try {
|
||||||
|
Class.forName(driverName);
|
||||||
|
connection = DriverManager.getConnection(url, username, password);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
System.out.println(" SQL:" + e);
|
||||||
|
} catch (ClassNotFoundException e){
|
||||||
|
System.out.println("Driver:" + e);
|
||||||
|
}
|
||||||
|
return connection;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,320 @@
|
||||||
|
package mx.uv;
|
||||||
|
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.Statement;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
// Data Access Object
|
||||||
|
public class DAO {
|
||||||
|
// en el dao se establece la conexion a la BD
|
||||||
|
private static Conexion c = new Conexion();
|
||||||
|
// este metodo regresa un conjunto de usuarios que cumpla un criterio
|
||||||
|
public static List<Usuario> dameUsuarios() {
|
||||||
|
Statement stm = null;
|
||||||
|
ResultSet rs = null;
|
||||||
|
Connection conn = null;
|
||||||
|
|
||||||
|
List<Usuario> resultado = new ArrayList<>();
|
||||||
|
|
||||||
|
conn = Conexion.getConnection();
|
||||||
|
|
||||||
|
try {
|
||||||
|
String sql = "SELECT * from usuarios";
|
||||||
|
stm = (Statement) conn.createStatement();
|
||||||
|
rs = stm.executeQuery(sql);
|
||||||
|
while (rs.next()) {
|
||||||
|
Usuario u = new Usuario(rs.getString("id"), rs.getString("correo"), rs.getString("password"), rs.getString("nombre"));
|
||||||
|
resultado.add(u);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
} finally {
|
||||||
|
if (rs != null)
|
||||||
|
try {
|
||||||
|
rs.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
rs = null;
|
||||||
|
if (stm != null) {
|
||||||
|
try {
|
||||||
|
stm.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
stm = null;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
conn.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return resultado;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String crearUsuario(Usuario u) {
|
||||||
|
PreparedStatement stm = null;
|
||||||
|
Connection conn = null;
|
||||||
|
String msj = "";
|
||||||
|
|
||||||
|
conn = Conexion.getConnection();
|
||||||
|
try {
|
||||||
|
String sql = "INSERT INTO usuarios (id, correo, password,nombre) values (?,?,?,?)";
|
||||||
|
stm = (PreparedStatement) conn.prepareStatement(sql);
|
||||||
|
stm.setString(1, u.getId());
|
||||||
|
stm.setString(2, u.getCorreo());
|
||||||
|
stm.setString(3, u.getPassword());
|
||||||
|
stm.setString(4, u.getNombre());
|
||||||
|
if (stm.executeUpdate() > 0)
|
||||||
|
msj = "usuario agregado";
|
||||||
|
else
|
||||||
|
msj = "usuario no agregado";
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
} finally {
|
||||||
|
if (stm != null) {
|
||||||
|
try {
|
||||||
|
stm.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
stm = null;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
conn.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return msj;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean validarUsuario(String correo, String password) {
|
||||||
|
PreparedStatement stm = null;
|
||||||
|
Connection conn = null;
|
||||||
|
|
||||||
|
conn = Conexion.getConnection();
|
||||||
|
try {
|
||||||
|
String sql = "SELECT * FROM usuarios WHERE correo = ? AND password = ?";
|
||||||
|
stm = conn.prepareStatement(sql);
|
||||||
|
stm.setString(1, correo);
|
||||||
|
stm.setString(2, password);
|
||||||
|
|
||||||
|
ResultSet rs = stm.executeQuery();
|
||||||
|
|
||||||
|
return rs.next(); // Devuelve true si hay una coincidencia, false si no hay coincidencia
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
return false; // Manejar adecuadamente las excepciones en tu aplicación real
|
||||||
|
} finally {
|
||||||
|
// Cerrar recursos
|
||||||
|
if (stm != null) {
|
||||||
|
try {
|
||||||
|
stm.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
conn.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean correoExistente(String correo) {
|
||||||
|
PreparedStatement stm = null;
|
||||||
|
Connection conn = null;
|
||||||
|
|
||||||
|
conn = Conexion.getConnection();
|
||||||
|
try {
|
||||||
|
String sql = "SELECT * FROM usuarios WHERE correo = ?";
|
||||||
|
stm = conn.prepareStatement(sql);
|
||||||
|
stm.setString(1, correo);
|
||||||
|
|
||||||
|
ResultSet rs = stm.executeQuery();
|
||||||
|
|
||||||
|
return rs.next(); // Devuelve true si hay una coincidencia (correo existente), false si no hay coincidencia
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
return false; // Manejar adecuadamente las excepciones en tu aplicación real
|
||||||
|
} finally {
|
||||||
|
// Cerrar recursos
|
||||||
|
if (stm != null) {
|
||||||
|
try {
|
||||||
|
stm.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
conn.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean existeUsuarioPorCorreo(String correo) {
|
||||||
|
PreparedStatement stm = null;
|
||||||
|
Connection conn = null;
|
||||||
|
|
||||||
|
conn = Conexion.getConnection();
|
||||||
|
try {
|
||||||
|
String sql = "SELECT COUNT(*) as num_usuarios FROM usuarios WHERE correo = ?";
|
||||||
|
stm = conn.prepareStatement(sql);
|
||||||
|
stm.setString(1, correo);
|
||||||
|
|
||||||
|
ResultSet rs = stm.executeQuery();
|
||||||
|
|
||||||
|
if (rs.next()) {
|
||||||
|
return rs.getInt("num_usuarios") > 0; // Devuelve true si existe al menos un usuario con ese correo
|
||||||
|
} else {
|
||||||
|
return false; // Devuelve false si no hay usuarios con ese correo
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
return false; // Manejar adecuadamente las excepciones en tu aplicación real
|
||||||
|
} finally {
|
||||||
|
// Cerrar recursos
|
||||||
|
if (stm != null) {
|
||||||
|
try {
|
||||||
|
stm.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
conn.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String cambiarContrasena(String correo, String nuevaContrasena) {
|
||||||
|
String mensaje = "";
|
||||||
|
|
||||||
|
try (Connection conn = Conexion.getConnection();
|
||||||
|
PreparedStatement stm = conn.prepareStatement("UPDATE usuarios SET password = ? WHERE correo = ?")) {
|
||||||
|
|
||||||
|
// Verificar si el usuario existe
|
||||||
|
if (existeUsuarioPorCorreo(correo)) {
|
||||||
|
stm.setString(1, nuevaContrasena);
|
||||||
|
stm.setString(2, correo);
|
||||||
|
|
||||||
|
if (stm.executeUpdate() > 0) {
|
||||||
|
mensaje = "Contraseña actualizada correctamente";
|
||||||
|
} else {
|
||||||
|
mensaje = "No se pudo actualizar la contraseña";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
mensaje = "Usuario no encontrado";
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
// Manejo de excepciones (puedes personalizar este manejo según tus necesidades)
|
||||||
|
mensaje = "Error al actualizar la contraseña";
|
||||||
|
e.printStackTrace(); // O registra la excepción en un sistema de registro
|
||||||
|
}
|
||||||
|
|
||||||
|
return mensaje;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String obtenerIdUsuario(String correo, String password) {
|
||||||
|
PreparedStatement stm = null;
|
||||||
|
Connection conn = null;
|
||||||
|
|
||||||
|
conn = Conexion.getConnection();
|
||||||
|
try {
|
||||||
|
String sql = "SELECT id FROM usuarios WHERE correo = ? AND password = ?";
|
||||||
|
stm = conn.prepareStatement(sql);
|
||||||
|
stm.setString(1, correo);
|
||||||
|
stm.setString(2, password);
|
||||||
|
|
||||||
|
ResultSet rs = stm.executeQuery();
|
||||||
|
|
||||||
|
if (rs.next()) {
|
||||||
|
return rs.getString("id"); // Devuelve el ID si hay una coincidencia
|
||||||
|
} else {
|
||||||
|
return "falso"; // Devuelve -1 si no hay coincidencia
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
return "falso"; // Manejar adecuadamente las excepciones en tu aplicación real
|
||||||
|
} finally {
|
||||||
|
// Cerrar recursos
|
||||||
|
if (stm != null) {
|
||||||
|
try {
|
||||||
|
stm.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
conn.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Usuario obtenerDatosUsuario(String id) {
|
||||||
|
PreparedStatement stm = null;
|
||||||
|
Connection conn = null;
|
||||||
|
|
||||||
|
conn = Conexion.getConnection();
|
||||||
|
try {
|
||||||
|
String sql = "SELECT * FROM usuarios WHERE id = ?";
|
||||||
|
stm = conn.prepareStatement(sql);
|
||||||
|
stm.setString(1, id);
|
||||||
|
|
||||||
|
ResultSet rs = stm.executeQuery();
|
||||||
|
|
||||||
|
if (rs.next()) {
|
||||||
|
// Crear un objeto Usuario con los datos del usuario
|
||||||
|
Usuario usuario = new Usuario();
|
||||||
|
usuario.setId(rs.getString("id"));
|
||||||
|
usuario.setCorreo(rs.getString("correo"));
|
||||||
|
usuario.setPassword(rs.getString("password"));
|
||||||
|
usuario.setNombre(rs.getString("nombre"));
|
||||||
|
// Agregar más campos según tu estructura de base de datos
|
||||||
|
|
||||||
|
return usuario;
|
||||||
|
} else {
|
||||||
|
return null; // Devuelve null si no hay coincidencia
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
return null; // Manejar adecuadamente las excepciones en tu aplicación real
|
||||||
|
} finally {
|
||||||
|
// Cerrar recursos
|
||||||
|
if (stm != null) {
|
||||||
|
try {
|
||||||
|
stm.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
conn.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package main.java.mx.uv;
|
package mx.uv;
|
||||||
|
|
||||||
public class Usuario {
|
public class Usuario {
|
||||||
String id;
|
String id;
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue