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 {
|
||||
String id;
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue