Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 15

Estructura del proyecto – CRUD base de datos

Base de datos
Tabla: usuario

Proyecto Web
Crear dos paquetes
 controlador
 modelo

Elementos
 Librería de conexión mysql (mysql-connector-java-8.0.25.jar)
 modelo
o Usuario.java
o AgregarUsuario.java
o ConsultarUsuario.java
o EliminarUsuario.java
o ModificarUsuario.java
o ModificarUsuario2.java
 controlador
o UsuarioDAO.java
 vista
o index.html
Base de datos
Instrucciones SQL
Use lenguaje3;

CREATE TABLE lenguaje3.usuario (

id int NOT NULL AUTO_INCREMENT,

nombre varchar(60) DEFAULT NULL,

contrasena varchar(20) DEFAULT NULL,

email varchar(60) DEFAULT NULL,

pais varchar(20) DEFAULT NULL,

PRIMARY KEY (id)

) AUTO_INCREMENT=1;
Index.html
package modelo;

import java.io.IOException;
import java.io.PrintWriter;

import controlador.UsuarioDAO;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

@WebServlet("/AgregarUsuario")
public class AgregarUsuario extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


response.setContentType("text/html");
int estatus = 0;
Usuario u = new Usuario();
PrintWriter imprime = response.getWriter();

String nombre = request.getParameter("nombre");


String contrasena = request.getParameter("contrasena");
String email = request.getParameter("email");
String pais = request.getParameter("pais");

u.setNombre(nombre);
u.setContrasena(contrasena);
u.setEmail(email);
u.setPais(pais);

estatus = UsuarioDAO.agregar(u);
if (estatus>0) {
imprime.print("<p>El usuario ha sido agregado</p>");
request.getRequestDispatcher("index.html").include(request, response);

} else {
imprime.println("No es posible agregar el registro");
}
imprime.close();
}
}

Usuario.java
package modelo;

public class Usuario {


private int id;
private String nombre;
private String contrasena;
private String email;
private String pais;

public int getId() {


return id;
}
public void setId(int id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getContrasena() {
return contrasena;
}
public void setContrasena(String contrasena) {
this.contrasena = contrasena;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPais() {
return pais;
}
public void setPais(String pais) {
this.pais = pais;
}
}
UsuarioDAO.java
package controlador;

/*
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement; */

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

import modelo.Usuario;

public class UsuarioDAO {

public static Connection establecerCon() {


Connection con = null;

try {
//inicializar la conexión
String dbDriver = "com.mysql.jdbc.Driver";
String dbURL = "jdbc:mysql://localhost:3306/";
String dbNombre = "lenguaje3";
String dbUsuario = "root";
String dbContrasena = "unah21%*";

Class.forName(dbDriver);
con = DriverManager.getConnection(dbURL + dbNombre, dbUsuario, dbContrasena);
} catch (Exception e) {
System.out.println(e);
}
return con;
}

public static int agregar (Usuario u) {


int estatus = 0;

try {
Connection con = UsuarioDAO.establecerCon();
PreparedStatement ps = con.prepareStatement("Insert into usuario (nombre, contrasena, email, pais) " +
"values (?, ? ,?, ?)");
ps.setString(1, u.getNombre());
ps.setString(2, u.getContrasena());
ps.setString(3, u.getEmail());
ps.setString(4, u.getPais());

estatus = ps.executeUpdate();
con.close();
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return estatus;
}

public static List<Usuario> ConsultarTodosUsuario() {


List<Usuario> lista = new ArrayList<Usuario>();
try {
Connection con = UsuarioDAO.establecerCon();
PreparedStatement ps = con.prepareStatement("Select * from usuario");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Usuario u = new Usuario();
u.setId(rs.getInt(1));
u.setNombre(rs.getNString(2));
u.setContrasena(rs.getString(3));
u.setEmail(rs.getString(4));
u.setPais(rs.getString(5));
lista.add(u);
}
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return lista;
}

public static Usuario ConsultarEmpleadoPorCodigo(int id) {


Usuario e = new Usuario();

try {
Connection con = UsuarioDAO.establecerCon();
PreparedStatement ps = con.prepareStatement("Select * from usuario where id=?");
ps.setInt(1, id);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
e.setId(rs.getInt(1));
e.setNombre(rs.getString(2));
e.setContrasena(rs.getString(3));
e.setEmail(rs.getString(4));
e.setPais(rs.getString(5));
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
return e;
}

public static int actualizar(Usuario u) {


int estatus = 0;
try {
Connection con = UsuarioDAO.establecerCon();
PreparedStatement ps = con.prepareStatement("Update usuario set nombre=?, contrasena=?, " +
"email =?, pais =? where id=?;");
ps.setString(1, u.getNombre());
ps.setString(2, u.getContrasena());
ps.setString(3, u.getEmail());
ps.setString(4, u.getPais());
ps.setInt(5, u.getId());

estatus = ps.executeUpdate();
con.close();

} catch (SQLException e) {
e.printStackTrace();
}
return estatus;
}

public static int borrar (int id) {


int estatus = 0;
try (Connection con = UsuarioDAO.establecerCon();
PreparedStatement ps = con.prepareStatement("Delete from usuario where id=?")) {
ps.setInt(1, id);
estatus = ps.executeUpdate();
con.close();
}
catch (Exception e) {
// TODO: handle exception
}
return estatus;
}
}
ConsultarUsuario.java
package modelo;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import controlador.UsuarioDAO;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

@WebServlet("/ConsultarUsuario")
public class ConsultarUsuario extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


response.setContentType("text/html");
PrintWriter imprimir = response.getWriter();
imprimir.println("<a href = 'index.html'>Agregar Usuario</a>");
imprimir.println("<h1>Lista de usuarios</h1>");

List<Usuario> lista = UsuarioDAO.ConsultarTodosUsuario();

imprimir.print("<table border='1' width='100%'>");


imprimir.print("<tr><th>Codigo</th><th>Nombre</th><th>Contraseña</th><th>Email</th> " +
"<th>País</th><th>Modificar</th><th>Eliminar</th></tr>");
for (Usuario u:lista) {
imprimir.print("<tr><td>" + u.getId() + "</td><td>" + u.getNombre() + "</td><td>" + u.getContrasena() +
"</td><td>" + u.getEmail() + "</td><td>" + u.getPais() + "</td><td>" +
"<a href='ModificarUsuario?id=" + u.getId() + "'>modificar</a></td><td>" +
"<a href='EliminarUsuario?id" + u.getId() + "'>eliminar</a></td></tr>");
}
imprimir.print("</table>");
imprimir.close();
}

}
ModificarUsuario.java
package modelo;

import java.io.IOException;
import java.io.PrintWriter;

import controlador.UsuarioDAO;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

@WebServlet("/ModificarUsuario")
public class ModificarUsuario extends HttpServlet {
private static final long serialVersionUID = 1L;

public ModificarUsuario() {
// TODO Auto-generated constructor stub
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


int estatus = 0;
response.setContentType("text/html");
PrintWriter salida = response.getWriter();
salida.println("<h1>Modificar Usuario</h1>");
int idUsuario = Integer.parseInt(request.getParameter("id"));
Usuario u = UsuarioDAO.ConsultarEmpleadoPorCodigo(idUsuario);

salida.print("<form action='ModificarUsuario2' method='post'>");


salida.print("<table>");
salida.print("<tr><td></td><td><input type='hidden' name='id' value='" +
u.getId() + "'/></td></tr>");
salida.print("<tr><td>Nombre</td><td><input type='text' name='nombre' value = '" +
u.getNombre() + "'/></td></tr>");
salida.print("<tr><td>Contraseña</td><td><input type='password' name='contrasena' value='" +
u.getContrasena() + "'/></td></tr>");
salida.print("<tr><td>Email</td><td><input type='email' name='email' value='" +
u.getEmail() + "'/></td></tr>");
salida.print("<tr><td>País</td><td>");
salida.print("<select name=\"pais\" style='width:150px'>");
salida.print("<option>Honduras</option>");
salida.print("<option>Guatemala</option>");
salida.print("<option>Nicaragua</option>");
salida.print("<option>Otro</option>");
salida.print("/select");
salida.print("</td></tr>");
salida.print("<tr><td colspan='2'><input type='submit' value='Guardar'/></td></tr>");
salida.print("</table>");
salida.print("</form>");
salida.close();
}
}
ModificarUsuario2.java
package modelo;

import java.io.IOException;
import java.io.PrintWriter;

import controlador.UsuarioDAO;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

/**
* Servlet implementation class ModificarUsuario2
*/
@WebServlet("/ModificarUsuario2")

public class ModificarUsuario2 extends HttpServlet {


private static final long serialVersionUID = 1L;

public ModificarUsuario2() {
// TODO Auto-generated constructor stub }

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


response.setContentType("text/html");
int estatus = 0;
PrintWriter imprime = response.getWriter();

int idUsuario = Integer.parseInt(request.getParameter("id"));


String nombre = request.getParameter("nombre");
String contrasena = request.getParameter("contrasena");
String email = request.getParameter("email");
String pais = request.getParameter("pais");

Usuario u = new Usuario();


u.setId(idUsuario);
u.setNombre(nombre);
u.setContrasena(contrasena);
u.setEmail(email);
u.setPais(pais);

estatus = UsuarioDAO.actualizar(u);
if (estatus >0) {
response.sendRedirect("ConsultarUsuario");
}
else {
imprime.println("Ha ocurrido un error!!");
}
imprime.close();
}
}
EliminarUsuario.java
package modelo;

import java.io.IOException;

import controlador.UsuarioDAO;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

/**
* Servlet implementation class EliminarUsuario
*/
@WebServlet("/EliminarUsuario")
public class EliminarUsuario extends HttpServlet {
private static final long serialVersionUID = 1L;

public EliminarUsuario() {
// TODO Auto-generated constructor stub
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


String sIdUsuario = request.getParameter("id");
int idUsuario = Integer.parseInt(sIdUsuario);
UsuarioDAO.borrar(idUsuario);
response.sendRedirect("ConsultarUsuario");
}

También podría gustarte