Proyecto Final Poo JAVA

Generaremos una bitácora de códigos para el proyecto final de poo

Este debe contar con los siguientes puntos.

Entregar el proyecto con (Clases, Formularios, Imágenes, Script de Base de Datos)

Esto se refiere a que debes entregar un proyecto terminado con todas sus respectivas carpetas y archivos, para que a la hora de que otra persona lo abra lo pueda utilizar.

Control de usuario en el acceso (Validado desde una Base de datos, es decir hacer un LOGIN)

Aquí se debe crear un login de acceso a tu app de JAVA, para ellos deberás crear un formulario que te permita ingresar un nombre de usuario y una contraseña y en el botón ingresar deberás escribir el código que te dejo más abajo

Este es el código necesario para hacer un Login básico en JAVA, este código tiene que ir en el botón ingresar.

private void btnIngresarActionPerformed(java.awt.event.ActionEvent evt) {                                            
      //1) Capturar los datos
      String user = txtUser.getText();
      String pass = txtPass.getText();
      
      //2) Instanciar la clase Conexion.java
      Conexion objConexion = new Conexion();
      
      //3) Usamos el método para establecer la conexión
      objConexion.estableceConexion();
      
      //4) Generamos la consulta SQL
      String SQL="SELECT * FROM Usuarios WHERE nombresUsuario='"+user+"' AND passUsuario='"+pass+"'";
      
      //5) Guardamos el resultado de la consulta
      objConexion.resultado=objConexion.consultas(SQL);
      
      try {
          if(objConexion.resultado.next()){
              this.setVisible(false);
              frmDashboard objDashboard = new frmDashboard();
              objDashboard.setVisible(true);
              System.out.println("HOLA ME CONECTÉ");
              //Dashboard MOSTRAR con LOGIN
                objDashboard.imgPerfilMenu.setVisible(true);
                objDashboard.lblnombreUsuarioMenu.setVisible(true);
                objDashboard.btnCalendario.setVisible(true);
                objDashboard.btnClientes.setVisible(true);
                objDashboard.btnServicios.setVisible(true);
                objDashboard.btnTecnicos.setVisible(true);
                objDashboard.btnUsuarios.setVisible(true);
                
              //Dashboard OCULTAR con LOGIN
               objDashboard.lblMensajeMenu1.setVisible(false);
               objDashboard.lblMensajeMenu2.setVisible(false);
               objDashboard.lblMensajeMenu3.setVisible(false);
          }else{
              JOptionPane.showMessageDialog(this, "Usuario o password incorrecta", "error", JOptionPane.ERROR_MESSAGE);
          }
      }catch (SQLException ex){
          JOptionPane.showMessageDialog(null, ex.getMessage());
      }
    }                           

Contener un CRUD

Para crear un CRUD, necesitamos contemplar varias cosas.

1. Tener una Clase Conexion.java que contenga métodos que nos permita entrar a una base de datos

package clases;

import java.sql.Connection; //Con esto agrego la librer?a conexi?n al proyecto
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.SQLException;

import java.util.logging.Level;
import java.util.logging.Logger;

public class Conexion {

    //Atributos para usar durante todo el código
    public Connection conexion = null; //tipo conexion nulo al principio
    public Statement sentencia; //Para crear sentencias SQL 
    public ResultSet resultado; //Guarda lo que viene de vuelta

    String bd = "fipe_manager"; //Nombre de la base datos
    String URL = "jdbc:mysql://localhost:3309" + "/" + bd; //Cadena de conexión
    String usuario = "root";
    String pass = "1234";

    //Método que permite conectarnos a la base de datos
    //Es una clase estandar para conectarnos a cualquier base de dato SQL
    public Connection estableceConexion() {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver"); //Ruta donde estan guardadas las clases apra conectarnos
            conexion = DriverManager.getConnection(URL, usuario, pass); //Recibe tres parametros
            System.out.println("Me conecté"); //Si todo esto funciona menciona que se conectó
        } catch (Exception ex) {
            Logger.getLogger(Conexion.class.getName()).log(Level.SEVERE, null, ex);
            System.out.println("No me puedo conectar " + ex);
        }
        return conexion;
    }

2. Tener un método para CREAR registros (de ahí la C de Create), igual se le dice, Guardar, Grabar, Insertar, etc.

Este método crear consta de dos partes

i. El método que se debe agregar en la Clase Conexion.java

// Método Agregar en la clase Conexion.java    
    public int agregar(String sql) {
        int datos = 0;
        try {
            sentencia = conexion.createStatement();
            datos = sentencia.executeUpdate(sql);
        } catch (SQLException ex) {
            Logger.getLogger(Conexion.class.getName()).log(Level.SEVERE, null, ex);
        }
        return datos;
    }

ii. Capturar los datos en el botón Guardar e instanciar el metodo agregar para lograr guardar los datos

    // AGREGAR REGISTRO (Este código va en el botón guardar)
private void btnGrabarActionPerformed(java.awt.event.ActionEvent evt) {

    String rut = txtRut.getText();
    String nombres = txtNombres.getText();
    String apellidos = txtApellidos.getText();
    String edad = txtEdad.getText();
    String ciudad = cmbCiudad.getSelectedItem().toString();
    String sexo;

    if (rdoMasculino.isSelected()) {
        sexo = "Masculino";
    } else {
        sexo = "Femenino";
    }

    if ((rut.length() == 0) || (nombres.length() == 0 || (apellidos.length() == 0) || (edad.length() == 0) || (ciudad.length() == 0))) {
        JOptionPane.showMessageDialog(null, "Faltan Datos");
    } else {
        objetoConexion.estableceConexion();
        String sqlAgrega = "insert into Alumnos (rut, nombres, apellidos, edad, ciudad, sexo) values ('" + rut + "','" + nombres + "','" + apellidos + "','" + edad + "','" + ciudad + "','" + sexo + "')";

        int regAgreegado = objetoConexion.agregar(sqlAgrega);
        JOptionPane.showMessageDialog(null, regAgreegado + " Alumno ingresado exitosamente");
    }
    mostrarDatos();
    objetoConexion.Desconectar();
}                             

3. Tener un método para LEER registros (de ahí la R de Read)

Para leer los registros de la base de datos, podemos cargar estos en una «jTable» de JAVA, y teniendo esto debemos hacer un método para configurar los campos de dicha tabla (según los campos de la base de datos) para posteriormente recorrer nuestra tabla en la base de datos he ir cargando los datos en la Tabla del formulario de java

// CARGAR REGISTROS DESDE LA BASE DE DATOS
    public void mostrarDatos() {
        // Creamos nuevo modelo de la tabla
        DefaultTableModel NuevoObjModelo = new DefaultTableModel();

        // Generamos la cabecera de cada columna
        NuevoObjModelo.addColumn("RUT");
        NuevoObjModelo.addColumn("NOMBRES");
        NuevoObjModelo.addColumn("APELLIDOS");
        NuevoObjModelo.addColumn("EDAD");
        NuevoObjModelo.addColumn("CIUDAD");
        NuevoObjModelo.addColumn("SEXO");

        // Agregamos el nuevo modelo a la tabla creada
        tblListado.setModel(NuevoObjModelo);

        // creamos arreglo para guardar los datos (son 5 campos)
        String[] datosBD = new String[6];
        
        try {
            
            Statement leerDatos = conect.createStatement(); //Preparamos la sentencia
            ResultSet resultado = leerDatos.executeQuery("SELECT * FROM alumnos"); //ejecutamos la sentencia
            int cantRegistros = 0;
            while (resultado.next()) { // mientras exista información
                datosBD[0] = resultado.getString(1); // asigno a cada posicion del arreglo los datos obtenidos x columna
                datosBD[1] = resultado.getString(2);
                datosBD[2] = resultado.getString(3);
                datosBD[3] = resultado.getString(4);
                datosBD[4] = resultado.getString(5);
                datosBD[5] = resultado.getString(6);

                // asigno al modelo cada registro por cada vuelta del ciclo while
                NuevoObjModelo.addRow(datosBD);
                cantRegistros = cantRegistros + 1;
            }
            // Asigno el nuevo modelo CON DATOS  al nueva tabla
            tblListado.setModel(NuevoObjModelo);
            lblCantRegistros.setText("Total de Registros: " + cantRegistros);
            
        } catch (SQLException excepcionSQL) {
            JOptionPane.showMessageDialog(null, "Error en la consulta " + excepcionSQL);
        }
    }

4. Tener un método para LEER (de ahí la R de Read)

5. Tener un método para ACTUALIZAR registros (de ahí la U de Update)

6. Tener un método para ELIMINAR registros (de ahí la D de Delete)

Contener un «jComboBox»

Búsqueda de registros

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *