Sistema de registro de estudiantes usando Java Swing

Considere un escenario de una escuela donde todos los días los maestros, el personal y las autoridades necesitan revisar los registros de sus estudiantes para varios propósitos, como buscar los detalles de un estudiante en particular. Revisar manualmente los registros es un trabajo tedioso y también requiere mucho tiempo. Por lo tanto, es mejor desarrollar un software en la escuela que permita a los usuarios insertar, actualizar, buscar o eliminar registros sin revisar manualmente los documentos cada vez que surge una consulta. 

En este artículo, veremos cómo crear rápidamente una aplicación usando Java Swing para realizar operaciones como crear, recuperar y eliminar en la base de datos usando JDBC .

Antes de escribir el código, se deben tener en cuenta algunas cosas:

  1. API de JDBC: la interfaz del programa de aplicaciones de conectividad de base de datos Java es un conjunto de interfaces y clases con las que puede escribir programas Java para acceder y manipular bases de datos. Actúa como una comunicación entre la aplicación y la base de datos.
  2. Controlador JDBC: permite que una aplicación Java interactúe con la base de datos. Necesitamos configurar diferentes controladores JDBC para diferentes bases de datos.

Flujo de trabajo de una aplicación Java y la interacción de la base de datos a través de controladores JDBC

Pasos para crear la aplicación:

1. Primero, abra Netbeans y haga clic en la opción Archivo de la barra de menú.

Netbeans Home Page

2. Ahora cree una nueva aplicación Java haciendo clic en Nuevo proyecto -> Java -> Aplicación Java y asigne un nombre de proyecto adecuado y haga clic en Finalizar.

3. Ahora cree un nuevo archivo yendo a la opción Archivo nuevamente en la barra de menú, luego Nuevo archivo -> Formularios GUI de Swing -> Formulario JFrame , y proporcione un nombre de archivo adecuado, haga clic en Finalizar.

4. Después de la creación exitosa del archivo, ahora se nos presentará la siguiente pantalla. Las 3 partes importantes de esta ventana son:

  • Diseño: Esta es el área donde crearemos el diseño/plantilla de nuestra aplicación.
  • Fuente: Aquí es donde se escribe el código lógico del programa.
  • Paleta: este componente contiene todos los widgets que necesitamos arrastrar y soltar en el área de diseño

Ventana que se muestra después de la creación exitosa del archivo Java.

5. Ahora, desde la paleta situada en el lado derecho de la ventana, comience a arrastrar los widgets del kit de herramientas.

Arrastre componentes de la paleta al área de diseño

6. Dado que necesitamos mostrar todos los datos en forma tabulada, arrastre el widget de tabla desde la paleta hasta el área de diseño. Ahora, para establecer los encabezados, haga clic con el botón derecho en la tabla, seleccione Propiedades -> Modelo -> Agregar/eliminar columnas .

7. Ahora vamos a crear la base de datos para almacenar los datos. Abra el cliente de comandos MySQL, ingrese la contraseña y escriba los siguientes comandos para crear una nueva base de datos, una nueva tabla y definir los atributos.

mysql> create database student;
Query OK, 1 row affected (0.14 sec)

mysql> use student;
Database changed
mysql> create table record(
    -> rollno int(3),
    -> name char(20),
    -> class int(2),
    -> section char(2),
    -> address varchar(40));
Query OK, 0 rows affected (2.03 sec)

mysql> describe record;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| rollno  | int(3)      | YES  |     | NULL    |       |
| name    | char(20)    | YES  |     | NULL    |       |
| class   | int(2)      | YES  |     | NULL    |       |
| section | char(2)     | YES  |     | NULL    |       |
| address | varchar(40) | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
5 rows in set (0.03 sec)

Volviendo a NetBeans, debemos seguir estos pasos para la conectividad de la base de datos:

8. Necesitamos importar las bibliotecas que se necesitan para configurar una conexión con la base de datos y recuperar datos, lo que se realiza mediante: DriverManager Class , Connection Class y Statement Class . Por lo tanto, vaya a la barra de menú, en Herramientas-> Bibliotecas , y agregue el conector MySQL JDBC . Anote el ClassPath de la biblioteca y haga clic en Aceptar. Ahora vaya a la barra de herramientas Proyectos y vaya a las Bibliotecas de su aplicación. Haga clic con el botón derecho y seleccione Add Jar/Library y explore la ruta de clase de la biblioteca anotada anteriormente.

Agregar archivo Jar

Agregar conector mysql

9. Vaya a Windows->Servicios->Bases de datos e ingrese las credenciales requeridas de su nombre de usuario y contraseña de MySQL. Después de hacer clic en probar conexión, si tiene éxito, el logotipo del conector aparece conectado.

La conexión está inicialmente rota

10. Ahora, para escribir el código, haga doble clic en jButton1 (Insertar), será dirigido a la pestaña fuente. Aquí escriba el siguiente código.

Java

// Write the import code at top
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
 
public class SchoolRecord extends javax.swing.JFrame {
 
    Connection con = null;
    Statement stmt = null;
    ResultSet rs = null;
    // JButton1 Code starts from here
    try {
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection(
            "jdbc:mysql://localhost:3306/student", "root",
            "root");
        stmt = con.createStatement();
        String rollno = jTextField1.getText();
        String name = jTextField2.getText();
        String class = jTextField3.getText();
        String sec = jTextField4.getText();
        String adr = jTextArea1.getText();
        String INSERT = "INSERT INTO RECORD VALUES('"
                        + rollno + "','" + name + "','"
                        + class + "','" + sec + "','" + adr
                        + "');";
        stmt.executeUpdate(INSERT);
        JOptionPane.showMessageDialog(
            this, "Record Added Successfully");
        jButton1.setEnabled(true);
    }
    catch (Exception e) {
        JOptionPane.showMessageDialog(
            this, "Error In Connectivity");
    }

En el código anterior, se deben tener en cuenta las siguientes cosas:

  1. Clase de conexión: actúa como una sesión de conexión entre el programa Java y la aplicación de base de datos específica. Es a través del cual enviamos consultas SQL a la base de datos.
  2. Clase de declaración:  una declaración es una interfaz que representa una declaración SQL.
  3. ResultSet: cuando ejecuta objetos de declaración y generan objetos ResultSet, que es una tabla de datos que representa un conjunto de resultados de base de datos. Se necesita un objeto de conexión para crear un objeto de declaración.
  4. Registro del controlador JDBC: para abrir una conexión a la base de datos desde la aplicación Java, el controlador JDBC debe registrarse con el Administrador de dispositivos. Por lo tanto, usamos forName() del paquete de idioma. Aquí com.mysql.jdbc.Driver es el nombre del controlador para MySQL.
  5. .getConnection():  se utiliza para establecer una conexión física con la base de datos especificando el nombre de la base de datos (estudiante), el nombre de usuario (raíz) y la contraseña (raíz). Esto crea un objeto de conexión.
  6. Ejecución de consultas: createStatement() crea un objeto de tipo declaración que contiene consultas SQL. Luego , el método executeQuery/executeUpdate ejecuta la instrucción SQL. Aquí está «INSERTAR EN VALORES DE REGISTRO…».
  7. Extracción de datos: el método anterior crea un objeto de conjunto de resultados que contiene los datos resultantes. (Ahora vea el código a continuación) rs es la variable que almacena el conjunto de datos resultante y, por lo tanto, usamos un método .get<Type>() para obtener datos.
  8. while(rs.next()): (Vea el código a continuación) Dado que necesitamos datos que contengan varias filas, usamos un bucle para acceder a ellos. El método next() mueve el cursor una fila hacia adelante.
  9. Cierre de bases de datos abiertas: Cerramos todas las bases de datos abiertas para limpiar el entorno. Por lo tanto, usamos los métodos rs.close(), stmt.close() y con.close() . 

11. Ahora, para mostrar todos los datos, escriba el siguiente código en la opción jButton2 ActionPerformed que se puede lograr haciendo clic dos veces en el botón Ver datos en el área de diseño.

Java

DefaultTableModel model
    = (DefaultTableModel)jTable1.getModel();
try {
    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection(
        "jdbc:mysql://localhost:3306/student", "root",
        "root");
    String query = "SELECT* FROM RECORD;";
    ResultSet rs = stmt.executeQuery(query);
    while (rs.next()) {
        String rollno = rs.getString("rollno");
        String name = rs.getString("name");
        String class = rs.getString("class");
        String sec = rs.getString("section");
        String adr = rs.getString("address");
        model.addRow(
            new Object[] { rollno, name, class, sec, adr });
    }
    rs.close();
    stmt.close();
    con.close();
}
catch (Exception e) {
    JOptionPane.showMessageDialog(this,
                                  "Error In Connectivity");
}

 

12. Ahora, para borrar todos los campos de texto, áreas de texto y contenido de la tabla, escriba el siguiente código en la opción jButton3 ActionPerformed que se puede lograr haciendo clic dos veces en el botón Borrar en el área de diseño.

Java

jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
jTextArea1.setText("");
DefaultTableModel dm
    = (DefaultTableModel)jTable1.getModel();
dm.getDataVector().removeAllElements();
jTable1.repaint();

 

13. Ahora, para salir del sistema, agregue la siguiente declaración en la opción jButton4 ActionPerformed que se puede lograr haciendo clic dos veces en el botón Salir en el área de diseño.

System.exit(0);

14. Después de escribir el código, haga clic con el botón derecho en cualquier parte de la pantalla y seleccione la opción Ejecutar archivo del menú desplegable. El resultado final se muestra a continuación. ¡Ingrese los detalles necesarios y la aplicación estará lista!

Insertar datos

Ver datos

Producción:

Publicación traducida automáticamente

Artículo escrito por minsuga98 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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