Tutorial Programación Orientada a Objetos - CRUD en Java

 Tutorial Programación Orientada a Objetos - CRUD en Java


¿Que es un CRUD? 

Es un acrónimo que se utiliza comúnmente en el desarrollo de aplicaciones y sistemas de gestión

de bases de datos. Representa un conjunto de operaciones básicas:

Crear (Create): Implica agregar nuevos registros o información al sistema. 

Leer (Read): Significa recuperar o consultar datos existentes del sistema. 

Actualizar (Update): Involucra modificar información que ya existe en el sistema. 

Eliminar (Delete): Se usa para borrar registros o datos que ya no son necesarios.

Sigue los siguientes pasos para crear un CRUD en JAVA y MySQL:


Paso 1- 

El primer paso es descargar MySQL, donde podrás crear una base de datos que llamaremos “registro”,

ahí mismo se almacenarán los datos que serán gestionados por tu aplicación CRUD.

Vamos a crear dentro de la base de datos, una tabla llamada “persona”, a esta tabla le agregaremos 3 columnas,

que serán: “ID”, “DNI” y ”nombres”


Paso 2- 

Crea un nuevo proyecto Java en NETBEANS, de nombre “CRUD”. Dentro de Source Package creamos 2 paquetes “config” y “vista”.

Dentro de “config” creamos una clase java “Conexion”, aquí  realizaremos la conexión a la base de datos. Aqui ingresaremos el siguiente codigo:

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

import java.sql.Connection;

public class Conexion {

    Connection con;  

    public Conexion(){

        try {

          Class.forName("com.mysql.cj.jdbc.Driver");

            con=DriverManager.getConnection(className);

        } catch (Exception e) {

        }

    }

    public Connection getConnection(){

        return con;

    }

}

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

 En libreria>> Add library>>Import>>MySQL_JDBC_Driver

Dentro de className vamos a agregar “com.mysql.jdbc.Driver” despues del signo “;” con=DriverManager.getConnection(jdbc:mysql://localhost:port/registro","usuario","contraseña);

En este caso reemplazamos port, usuario y contraseña.


Paso 3-

En "vista", creamos un nuevo formulario el cual llamaremos “Principal”. Dentro de el con ayuda de Swing Palette vamos a crear una interfaz similar a esta utilizando paneles, textfields, botones etc.


Paso 4-

En el código de "Principal", vamos a instanciar la clase Conexion de la siguiente manera:

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

public class Principal extends javax.swing.JFrame {

    Conexion con = new Conexion();

    Connection cn;

    Statement st;

    ResultSet rs;

    DefaultTableModel modelo;

    int id;

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


Paso 5-

Crearemos un método “listar” de la siguiente forma:

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

void listar() {

        String sql = "Select * from persona";

        try {

            cn = con.getConnection();

            if (cn != null) {

                System.out.println("Database connection established successfully.");

            } else {

                System.err.println("Failed to establish a database connection.");

            }

            st = cn.createStatement();

            rs = st.executeQuery(sql);

            Object[] persona = new Object[3];

            modelo = (DefaultTableModel) TablaDatos.getModel();

            while (rs.next()) {

                persona[0] = rs.getInt("ID");

                persona[1] = rs.getString("DNI");

                persona[2] = rs.getString("Nombres");

                modelo.addRow(persona);

            }

            TablaDatos.setModel(modelo);

        } catch (Exception e) {

        }

    }

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

Después , en la primera parte del código agregaremos:

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

    public Principal() {

        initComponents();

        setLocationRelativeTo(null);

        listar();

    }

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


Paso 6- Agregar un nuevo registro:

En el botón agregar de nuestra aplicación le daremos click derecho>>events>>actionperformed

Dentro de el agregamos el método agregar, desarrollaremos este mismo debajo del metodo listar de la

siguiente manera:

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

void Agregar() {

        String dni = txtdni.getText();

        String nmb = txtnmb.getText();

        if (dni.equals(" ") || nmb.equals(" ")) {

            JOptionPane.showMessageDialog(null, "Cajas vacias...");

        } else {

            String sql = "Insert into persona(DNI,Nombres)values('" + dni + "','" + nmb + "')";

            try {

                cn = con.getConnection();

                st = cn.createStatement();

                st.executeUpdate(sql);

                JOptionPane.showMessageDialog(null, "Usuario agregado");

                limpiartabla();

            } catch (Exception e) {

            }

        }

    }

void limpiartabla() {

        for (int i = 0; i <= TablaDatos.getRowCount(); i++) {

            modelo.removeRow(i);

            i = i - 1;

        }


    }

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

Limpiar tabla nos ayudará precisamente a eliminar los datos y listar los datos ya agregados.


Paso 7- Modificar un registro

Damos click derecho en la tabla>>events>>mouseclicked

Dentro del método crearemos una variable de tipo int de la siguiente manera y seguiremos el código: 

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

private void TablaDatosMouseClicked(java.awt.event.MouseEvent evt) {                                        

        int fila = TablaDatos.getSelectedRow();

        if (fila == -1) {

            JOptionPane.showMessageDialog(null, "Usuario no seleccionado");

        } else {

            id = Integer.parseInt((String) TablaDatos.getValueAt(fila, 0).toString());

            String dni = (String) TablaDatos.getValueAt(fila, 1);

            String nmb = (String) TablaDatos.getValueAt(fila, 2);

            txtid.setText("" + id);

            txtdni.setText(dni);

            txtnmb.setText(nmb);


        }

    }          

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

Debajo vamos a crear el método modificar de la siguiente manera:

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

void modificar() {

        String nmb = txtnmb.getText();

        String dni = txtdni.getText();

        String sql = "update persona set DNI='" + dni + "',Nombres='" + nmb + "' where Id=" + id;

        if (dni.equals(" ") || nmb.equals(" ")) {

            JOptionPane.showMessageDialog(null, "Ingrese datos");

        } else {

            try {

                cn = con.getConnection();

                st = cn.createStatement();

                st.executeUpdate(sql);

                JOptionPane.showMessageDialog(null, "Usuario actualizado");

                limpiartabla();

            } catch (Exception e) {

            }

        }

    }

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

Después damos click derecho al botón modificar>>events>>actionsperformed

Colocamos el método modificar(); seguido de listar();

Paso 8- Eliminar un registro

Click derecho en botón eliminar>>events>>actionsperformed.>>agregar “eliminar();”


Debajo de limpiar tabla agregaremos el método eliminar de la siguiente manera:

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

void eliminar() {

        int filaseleccionado = TablaDatos.getSelectedRow();

        if (filaseleccionado == -1) {

            JOptionPane.showMessageDialog(null, "Debe seleccionar una fila");

        } else {

            String sql = "delete from persona where Id=" + id;

            try {

                cn = con.getConnection();

                st = cn.createStatement();

                st.executeUpdate(sql);

                JOptionPane.showMessageDialog(null, "Usuario eliminado");

                limpiartabla();

            } catch (Exception e) {

            }

        }

    }

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

Paso 9- Nuevo registro

Finalmente vamos a dar click derecho en el botón nuevo>>events>>actions performed>> agregamos “nuevo();”

Debajo del metodo eliminar agregamos el siguiente método nuevo(); de la siguiente forma:

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

void nuevo(){

        txtid.setText("");

        txtdni.setText("");

        txtnmb.setText("");

        txtdni.requestFocus();

    }

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

En la parte superior donde se encuentran los método de los botones previamente agregados escribiremos nuevo(); 


Paso 10: Ponerlo a prueba!















Comments