Usuario Dao

This commit is contained in:
David 2024-05-07 19:02:25 -06:00
parent 1b377734dd
commit e541274e8a
3 changed files with 120 additions and 1 deletions

View File

@ -0,0 +1,107 @@
package mx.uv;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class DaoUsuario implements IDaoUsuario{
private final Conexion con = new Conexion();
private Connection connection;
private PreparedStatement ps;
private ResultSet rs;
private Statement st;
@Override
public void add(Usuario usuario) throws SQLException {
connection = con.obtenerConexion();
String consulta = "INSERT INTO Usuario(correo, contrasena, esMedico) VALUES(?,?,?)";
ps = connection.prepareStatement(consulta);
ps.setString(1, usuario.getCorreo());
ps.setString(2, usuario.getContraseña());
ps.setBoolean(3, usuario.esMedico());
ps.execute();
connection.close();
}
@Override
public void update(int id, Usuario usuarioNu) throws SQLException {
connection = con.obtenerConexion();
String consulta = "Update Usuario "
+ "set correo = ?, contrasena = ?, esMedico = ? "
+ "where idUsuario = ? ;";
ps = connection.prepareStatement(consulta);
ps.setString(1, usuarioNu.getCorreo());
ps.setString(2, usuarioNu.getContraseña());
ps.setBoolean(3, usuarioNu.esMedico());
ps.setInt(4, id);
ps.execute();
connection.close();
}
@Override
public void delete(int id) throws SQLException {
connection = con.obtenerConexion();
String consulta = "Delete FROM Usuario where idUsuario = ?;";
ps = connection.prepareStatement(consulta);
ps.setInt(1, id);
ps.execute();
connection.close();
}
@Override
public List<Usuario> getData() throws SQLException {
List<Usuario> usuarios = new ArrayList<>();
String consulta = "SELECT * FROM Usuario";
connection = con.obtenerConexion();
st = connection.createStatement();
rs = st.executeQuery(consulta);
while(rs.next()){
//Usuario (idUsuario, correo, contraseña, esMedico)
int id = rs.getInt("idUsuario");
String correo = rs.getString("correo");
String contraseña = rs.getString("contrasena");
Boolean esMedico = rs.getBoolean("esMedico");
//Verificación de obtención de datos
System.out.println(id + " " + correo + " " + contraseña + " " + esMedico);
usuarios.add(new Usuario(id, correo, contraseña, esMedico));
}
connection.close();
return usuarios;
}
@Override
public List<Usuario> getDataWhere(String condicion) throws SQLException {
List<Usuario> usuarios = new ArrayList<>();
String consulta = "SELECT * FROM Usuario WHERE " + condicion;
connection = con.obtenerConexion();
st = connection.createStatement();
rs = st.executeQuery(consulta);
while(rs.next()){
//Usuario (idUsuario, correo, contraseña, esMedico)
int id = rs.getInt("idUsuario");
String correo = rs.getString("correo");
String contraseña = rs.getString("contrasena");
Boolean esMedico = rs.getBoolean("esMedico");
//Verificación de obtención de datos
System.out.println(id + " " + correo + " " + contraseña + " " + esMedico);
usuarios.add(new Usuario(id, correo, contraseña, esMedico));
}
connection.close();
return usuarios;
}
}

View File

@ -0,0 +1,12 @@
package mx.uv;
import java.sql.SQLException;
import java.util.List;
public interface IDaoUsuario {
public void add(Usuario usuario) throws SQLException;
public void update(int id, Usuario usuarioNu) throws SQLException;
public void delete(int id) throws SQLException;
public List<Usuario> getData() throws SQLException;
public List<Usuario> getDataWhere(String condicion) throws SQLException;
}

View File

@ -35,7 +35,7 @@ public class Usuario {
public void setContraseña(String contraseña) { public void setContraseña(String contraseña) {
this.contraseña = contraseña; this.contraseña = contraseña;
} }
public boolean isEsMedico() { public boolean esMedico() {
return esMedico; return esMedico;
} }
public void setEsMedico(boolean esMedico) { public void setEsMedico(boolean esMedico) {