El siguiente ejemplo nos manda Daniel Pérez. Diseñe un programa que permita
insertar la información de una alumno. Deberá aplicar herencia y usar GridBagConstraints para
crear la interfaz.
MYSQL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL'; DROP SCHEMA IF EXISTS `alumno` ; CREATE SCHEMA IF NOT EXISTS `alumno` DEFAULT CHARACTER SET latin1 COLLATE latin1_spanish_ci ; USE `alumno` ; -- ----------------------------------------------------- -- Table `alumno`.`Alumno` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `alumno`.`Alumno` ( `idAlumno` INT NOT NULL , `nomAlumno` VARCHAR(45) NULL , `dirAlumno` VARCHAR(45) NULL , `telAlumno` VARCHAR(45) NULL , PRIMARY KEY (`idAlumno`) ) ENGINE = InnoDB; SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; |
JAVA
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | package BD5_Mantenimiento3; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Conexion { // Propiedades de conexión de la base de datos private String driver; private String url; private String user; private String pass; // Al llamar al constructor de la clase se inicializan las propiedades de conexión protected Conexion() { driver = "com.mysql.cj.jdbc.Driver"; // Driver MySQL url = "jdbc:mysql://localhost/alumno?serverTimezone=UTC&useSSL=false"; // Url de la bd user = "root"; // Usuario del servidor pass = "root"; // Contraseña del servidor } // Retorna la conexión a la base de datos public Connection getConnection() { Connection cn = null; try { Class.forName(driver); cn = DriverManager.getConnection(url, user, pass); System.out.println("Conexión exitosa...\n"); } catch (ClassNotFoundException x) { System.out.println("Error al cargar el driver...\n" + x); } catch (SQLException x) { System.out.println("Error al conectarse al servidor de base de datos...\n" + x); } return cn; } // Cierra la conexión a la base de datos public void closeConnection(Connection cn) { try { if (cn != null && !cn.isClosed()) { cn.close(); cn = null; } } catch (SQLException x) { System.out.println("Error al intentar cerrar la conexión...\n" + x); } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | package BD5_Mantenimiento3; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class Alumno extends Conexion { // Atributos de clase private int idAlumno; private String nomAlumno; private String dirAlumno; private String telAlumno; // Constructor public Alumno() { super(); } // Métodos de acceso getters/setters public int getIdAlumno() { return idAlumno; } public void setIdAlumno(int idAlumno) { this.idAlumno = idAlumno; } public String getNomAlumno() { return nomAlumno; } public void setNomAlumno(String nomAlumno) { this.nomAlumno = nomAlumno; } public String getDirAlumno() { return dirAlumno; } public void setDirAlumno(String dirAlumno) { this.dirAlumno = dirAlumno; } public String getTelAlumno() { return telAlumno; } public void setTelAlumno(String telAlumno) { this.telAlumno = telAlumno; } // Registra un alumno en la base de datos public void guardarAlumno() { Connection cn = null; PreparedStatement ps; int registrosAfectados = 0; try { // Establece la conexión a la base de datos cn = getConnection(); // Crea un objeto PreparedStatement para enviar sentencias SQL parametrizadas a la base de datos String sql = "insert into alumno (idAlumno, nomAlumno, dirAlumno, telAlumno) " + "values (?,?,?,?)"; ps = cn.prepareStatement(sql); // Le pasamos los valores a los parámetros ps.setInt(1, idAlumno); ps.setString(2, nomAlumno); ps.setString(3, dirAlumno); ps.setString(4, telAlumno); // Ejecuta la instrucción SQL registrosAfectados = ps.executeUpdate(); } catch (SQLException x) { // Si el código anterior lanza una excepción System.out.println("Error al registrar el alumno\n" + x); } finally { closeConnection(cn); // Al finalizar cierra la conexión para liberar los recursos } // Imprime un mensaje si el registro fue exitoso o no if (registrosAfectados > 0) System.out.println("Registro insertado con exito..."); else System.out.println("Hubo un problema al insertar un alumno..."); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | package BD5_Mantenimiento3; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; public class Principal extends JFrame implements ActionListener { // Atributos para la creación de la GUI private JLabel lblId, lblNombre, lblDirecion, lblTelefono; private JTextField txtId, txtNombre, txtDireccion, txtTelefono; private GridBagConstraints constraints = new GridBagConstraints(); public Principal() { super("Insertar alumno - Usando GridBagLayout"); setLayout(new GridBagLayout()); // Establecemos como layout un GridBagLayout // Campo ID lblId = new JLabel("Ingrese el id del alumno"); constraints.gridx = 0; // columna 0 constraints.gridy = 0; // fila 0 constraints.gridwidth = 1; // ocupa 1 celda de ancho constraints.gridheight = 1; // ocupa 1 celda de alto this.getContentPane().add(lblId, constraints); txtId = new JTextField(10); constraints.gridx = 2; // columna 2 constraints.gridy = 0; // fila 0 constraints.gridwidth = 1; // // ocupa 1 celda de ancho constraints.gridheight = 1; // ocupa 1 celda de alto constraints.anchor = GridBagConstraints.WEST; // Lado izquierdo y centrado verticalmente. this.getContentPane().add(txtId, constraints); // Campo nombre lblNombre = new JLabel("Ingrese el nombre del alumno"); constraints.gridx = 0; // columna 0 constraints.gridy = 2; // fila 2 constraints.gridwidth = 1; constraints.gridheight = 1; this.getContentPane().add(lblNombre, constraints); txtNombre = new JTextField(20); constraints.gridx = 2; // columna 2 constraints.gridy = 2; // fila 2 constraints.gridwidth = 1; constraints.gridheight = 1; constraints.anchor = GridBagConstraints.WEST; this.getContentPane().add(txtNombre, constraints); // Campo dirección lblDirecion = new JLabel("Ingrese la dirección del alumno"); constraints.gridx = 0; // columna 0 constraints.gridy = 4; // fila 4 constraints.gridwidth = 1; constraints.gridheight = 1; this.getContentPane().add(lblDirecion, constraints); txtDireccion = new JTextField(20); constraints.gridx = 2; // columna 2 constraints.gridy = 4; // columna 4 constraints.gridwidth = 1; constraints.gridheight = 1; constraints.anchor = GridBagConstraints.WEST; this.getContentPane().add(txtDireccion, constraints); // Campo teléfono lblTelefono = new JLabel("Ingrese el teléfono del alumno"); constraints.gridx = 0; // columna 0 constraints.gridy = 6; // fila 6 constraints.gridwidth = 1; constraints.gridheight = 1; this.getContentPane().add(lblTelefono, constraints); txtTelefono = new JTextField(20); constraints.gridx = 2; // columna 2 constraints.gridy = 6; // fila 6 constraints.gridwidth = 1; constraints.gridheight = 1; constraints.anchor = GridBagConstraints.WEST; this.getContentPane().add(txtTelefono, constraints); // Botón guardar JButton btnGuardar = new JButton("Guardar"); constraints.gridx = 2; // columna 2 constraints.gridy = 8; // fila 8 constraints.gridwidth = 2; // ocupa 2 celdas de ancho constraints.gridheight = 1; // ocupa 1 celda de alto this.getContentPane().add(btnGuardar, constraints); btnGuardar.addActionListener(this); // Venta principal setSize(430, 150); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); } // Si hizo clic en el botón guardar public void actionPerformed(ActionEvent e) { // Crea el objeto alumno Alumno alumno = new Alumno(); alumno.setIdAlumno(Integer.parseInt(txtId.getText())); alumno.setNomAlumno(txtNombre.getText()); alumno.setDirAlumno(txtDireccion.getText()); alumno.setTelAlumno(txtTelefono.getText()); // Guardamos el alumno en la base de datos alumno.guardarAlumno(); } // Método principal que lanza la aplicación public static void main(String[] args) { new Principal(); } } |
PROGRAMA
DESARROLLO TUS ALGORITMOS 🔥🔥
✅ 1. Envía tu algoritmo.
✅ 2. Indica en qué lenguaje de Programación lo deseas.
✅ 3. Para qué fecha lo quieres.
✅ 4. De que país eres (para tu forma de pago)
✅ 5. También se desarrollan al momento.
✅ 6. Los 3 primeros ejercicios son gratis.
🔸 Explico cada ejercicio que desarrollo en el código.
Cuenta Dcoder para más ejercicios de programación
Blog para novedades de programación
Tienda online para más recursos de programación
No hay comentarios, ¡cuéntame algo!
Me gustaría saber tu opinión. ¡Saludos!