<file_sep>-- phpMyAdmin SQL Dump
-- version 5.0.4
-- https://www.phpmyadmin.net/
--
-- Servidor: 127.0.0.1
-- Tiempo de generación: 03-05-2021 a las 21:54:36
-- Versión del servidor: 10.4.17-MariaDB
-- Versión de PHP: 8.0.2

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Base de datos: `estudiante`
--
CREATE DATABASE IF NOT EXISTS `estudiante` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE `estudiante`;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tb_estudiante`
--

CREATE TABLE `tb_estudiante` (
  `id_estudiante` int(11) NOT NULL,
  `carnet_estudiante` varchar(6) DEFAULT NULL,
  `nom_estudiante` varchar(30) DEFAULT NULL,
  `ape_estudiante` varchar(30) DEFAULT NULL,
  `edad_estudiante` int(3) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Volcado de datos para la tabla `tb_estudiante`
--

INSERT INTO `tb_estudiante` (`id_estudiante`, `carnet_estudiante`, `nom_estudiante`, `ape_estudiante`, `edad_estudiante`) VALUES
(1001, 'MP1234', 'MATEO', 'CERON', 18),
(1004, 'MP4012', 'MANUEL', 'MARTINEZ', 25);

--
-- Índices para tablas volcadas
--

--
-- Indices de la tabla `tb_estudiante`
--
ALTER TABLE `tb_estudiante`
  ADD PRIMARY KEY (`id_estudiante`);

--
-- AUTO_INCREMENT de las tablas volcadas
--

--
-- AUTO_INCREMENT de la tabla `tb_estudiante`
--
ALTER TABLE `tb_estudiante`
  MODIFY `id_estudiante` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1005;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
<file_sep>package recursosEstudiante;

import java.sql.*;

public class ConexionCRUD {
    /*ruta de la base de datos el servidor 127.0.0.1m el puerto 306 
    y el nomobre de la base de daos db_recursos_humanos*/ 
    private final String servidor = "jdbc:mysql://127.0.0.1:3306/estudiante";
    //Nombre del usuario (root por defecto) de la base de datos
    private final String usuario = "root";
    // clave del usuario de la bse de datos
    private final String clave = "";
    //libreria de mysql
    private final String driverConector = "com.mysql.jdbc.Driver";
    //opjeto de la clase connection del paquete java.sql
    private static Connection conexion;
    
    public ConexionCRUD(){
        try{
            Class.forName(driverConector); //levantar el driver
            //establecer conexion
            conexion= DriverManager.getConnection(servidor, usuario, clave);
        }catch(ClassNotFoundException | SQLException e){
            System.out.println("Conecion fallida! : " + e.getMessage());
        }
    }
    public Connection  getConnection(){
        return conexion;
    }
    //metodo guardar
    public static void guardarRegistros(String tabla, String campoTabla, String valoresCampos) {
        //cargar conexion
        ConexionCRUD conectar = new ConexionCRUD();
        Connection cone = conectar.getConnection();
        try{
            //Definir la sentencia sql
            String sqlQueryStmt = "INSERT INTO " + tabla  + "(" + campoTabla + ") VALUES (" + valoresCampos + ");";
            //Establecemos la comunicacion entre nuestra aplicacion java y la base de datos
            Statement stmt;
            stmt = cone.createStatement();
            stmt.executeUpdate(sqlQueryStmt);//Ejecutar la sentencia sql
            //cerrar el Statement y la conexion: se cierran en orden inverso de como se han abierto
            stmt.close();
            cone.close();
            System.out.println("Registro guardado correctamente!");
        }catch(SQLException e){
            System.out.println(e.getMessage());
        }
    }
        
    //metodo eliminar y actualizar
    public void actualizarEliminarRegistro(String tabla, String valoresCamposNuevos, String condicion){
        //cargar la conexion
        ConexionCRUD conectar = new ConexionCRUD();
        Connection cone = conectar.getConnection();
        try{
            Statement stmt;
            String sqlQueryStmt;
            //verificar que vaorescamposnuevos venga vacia y asi seleccionar si es borrar o actualizar registro
            if(valoresCamposNuevos.isEmpty()){
                sqlQueryStmt = "DELETE FROM " + tabla + " WHERE " + condicion + ";";
            }else{
                sqlQueryStmt = "UPDATE " + tabla + " SET " + valoresCamposNuevos + " WHERE " + condicion + ";";
            }
            stmt = cone.createStatement();
            stmt.executeUpdate(sqlQueryStmt);
            stmt.close();
            cone.close();
        }catch(SQLException ex){
            System.out.println("Ha ocurrido el siguiente error: " + ex.getMessage());
        }
    }
    
     //metodo para consultas
    public static void desplegarRegistros(String tablaBuscar, String camposBuscar, String condicionBuscar) throws SQLException {
        //cargar la conexion
        ConexionCRUD conectar = new ConexionCRUD();
        Connection cone = conectar.getConnection();
        try{
            Statement stmt;
            String sqlQueryStmt;
            if(condicionBuscar.equals("")){
                sqlQueryStmt = "SELECT " + camposBuscar + " FROM " + tablaBuscar + ";";
            }else{
                sqlQueryStmt = "SELECT " + camposBuscar + " FROM " + tablaBuscar + " WHERE " + condicionBuscar; 
            }
            stmt = cone.createStatement();
            stmt.executeQuery(sqlQueryStmt); 
            //le indicamos que ejecute la consulta de la tabla y le pasamos por argumentos nuestra sentencia
            try(ResultSet miResultSet = stmt.executeQuery(sqlQueryStmt)){
                if(miResultSet.next()){ //ubica el cursor en la primera fila de la tabla de resultado
                    ResultSetMetaData metaData =  miResultSet.getMetaData();
                    int numColumnas = metaData.getColumnCount(); //obtiene el numero de columnas de la consulta
                    System.out.println("<< REGISTROS ALMACENADOS >>");
                    System.out.println();
                    for(int i =1; i<= numColumnas; i++){
                        //muestra los titulos de las colimnas y %-s/t indica la separacion entre columnas
                        System.out.printf("%-20s\t" , metaData.getColumnName(i));
                    }
                    System.out.println();
                    do{
                        for(int i=1; i<=numColumnas; i++){
                            System.out.printf("%-20s\t" , miResultSet.getObject(i));
                        }
                        System.out.println();
                    }while(miResultSet.next());
                    System.out.println();
                }else{
                    System.out.println("No se han encontrado registros");
                }
                miResultSet.close();
            }finally{
                stmt.close();
                cone.close();
            }
        }catch(SQLException ex){
            System.out.println("Ha ocurrido el siguiente error: " + ex.getMessage());
        }
    }
}
<file_sep>package recursosEstudiante;

import java.sql.SQLException;
import java.util.Scanner;


public class Delete {
    Delete() throws  SQLException{
        Scanner leer = new Scanner(System.in);
        ConexionCRUD utilerias = new ConexionCRUD();
        
        System.out.println("\n<< ELIMINAR REGISTROS >>");
        
        System.out.println("\nIngresa el id del registro: ");
        String idContactoEliminar = leer.next();
        //ingreso de datos para actualizar
        String tabla="tb_estudiante";
        String campos = "*";
        String condicion = "id_estudiante = " + idContactoEliminar;
        utilerias.desplegarRegistros(tabla, campos, condicion);
        
        System.out.println("Precionar  <<Y>>  para comfirmar: ");
        String confirmarBorrar = leer.next();
        
        if("Y".equals(confirmarBorrar)){
            /*Se le deja vacia  para el metodo borrar acatualizarEliminarRegistro   
            envie solamente los parametros  de tabla y condicion y  poder eliminar*/
            String valoresCamposNuevos = "";
            
            utilerias.actualizarEliminarRegistro(tabla, valoresCamposNuevos, condicion);
            System.out.println("Registro borrado satisfactoriamente");
        }
        MenuPrincipal.desplegarMenu();
    }
}
