Estructura del proyecto
• Crear un proyecto java swing con el nombre de CrudEmpleado2.
• Luego crear 4 paquetes (conexión,dao, modelo y vista).
• No olvidar agregar el driver de conexión.
Estructura final.
• Crear un proyecto java swing con el nombre de CrudEmpleado2.
• Luego crear 4 paquetes (conexión,dao, modelo y vista).
• No olvidar agregar el driver de conexión.
Estructura final.
Creación de la base de datos.
create database dbplanilla; use dbplanilla; create table empleado ( codEmpleado int primary key auto_increment nombre varchar(50) not null, edad int not null, sueldo double not null ); insert into empleado values(1,'Pedro',25,400.00); insert into empleado values(2,'Juan',29,800.00); insert into empleado values(3,'Karla',25,600.00); select * from empleado; /*drop table empleado;*/
Creación de la clase Conexión.
package com.conexion; import java.sql.*; /** * Nombre de la clase: Conexion * Version: 1.0 * Fecha: 31-07-2017 * Copyright: ITCA-FEPADE * @author: VA */ public class Conexion { private Connection con; public Connection getCon() { return con; } public void setCon(Connection con) { this.con = con; } public void conectar() throws Exception { try { Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost:3306/dbplanilla?user=root&password="); } catch (Exception e) { throw e; } } public void desconectar() throws Exception { try { if(con!=null) { if (con.isClosed()==false) { con.close(); } } } catch (Exception e) { throw e; } } }
Creación de la clase empleado.
package com.modelo; /** * Nombre de la clase: Empleado * Version: 1.0 * Fecha: 31-07-2017 * Copyright: ITCA-FEPADE * @author: VA */ public class Empleado { private int codEmpleado; private String nombre; private int edad; private double sueldo; public Empleado() { } public int getCodEmpleado() { return codEmpleado; } public void setCodEmpleado(int codEmpleado) { this.codEmpleado = codEmpleado; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public int getEdad() { return edad; } public void setEdad(int edad) { this.edad = edad; } public double getSueldo() { return sueldo; } public void setSueldo(double sueldo) { this.sueldo = sueldo; } }
Creación de clase DaoEmpleado.
package com.dao; import com.conexion.Conexion; import com.modelo.Empleado; import java.sql.*; import java.util.*; /** * Nombre de la clase: DaoEmpleado * Version: 1.0 * Fecha: 31-07-2017 * Copyright: ITCA-FEPADE * @author: VA */ public class DaoEmpleado extends Conexion { public void insertarEmpleado (Empleado emp) throws Exception { try { this.conectar(); String sql="insert into empleado(nombre,edad,sueldo) values(?,?,?)"; PreparedStatement pre=this.getCon().prepareStatement(sql); pre.setString(1,emp.getNombre()); pre.setInt(2, emp.getEdad()); pre.setDouble(3, emp.getSueldo()); pre.executeUpdate(); } catch (Exception e) { throw e; } finally { this.desconectar(); } } public List mostrarEmpleado() throws Exception { List listaempleados=new ArrayList(); ResultSet res; try { this.conectar(); String sql="select * from empleado"; PreparedStatement pre=this.getCon().prepareStatement(sql); res=pre.executeQuery(); while (res.next()) { Empleado emp=new Empleado(); emp.setCodEmpleado(res.getInt("codEmpleado")); emp.setNombre(res.getString("nombre")); emp.setEdad(res.getInt("edad")); emp.setSueldo(res.getDouble("sueldo")); listaempleados.add(emp); } } catch (Exception e) { throw e; } finally { this.desconectar(); } return listaempleados; } public void modificarEmpleado (Empleado emp) throws Exception { try { this.conectar(); String sql="update empleado set nombre=?, edad=?, sueldo=? where codEmpleado=?"; PreparedStatement pre=this.getCon().prepareStatement(sql); pre.setString(1, emp.getNombre()); pre.setInt(2, emp.getEdad()); pre.setDouble(3, emp.getSueldo()); pre.setInt(4, emp.getCodEmpleado()); pre.executeUpdate(); } catch (Exception e) { throw e; } finally { this.desconectar(); } } public void eliminarEmpleado (Empleado emp) throws Exception { try { this.conectar(); String sql="delete from empleado where codEmpleado=?"; PreparedStatement pre=this.getCon().prepareStatement(sql); pre.setInt(1, emp.getCodEmpleado()); pre.executeUpdate(); } catch (Exception e) { throw e; } finally { this.desconectar(); } } }
Agregar un formulario FrmEmpleado.
Código en el formulario.
package com.vista; import com.dao.DaoEmpleado; import com.modelo.Empleado; import java.text.DecimalFormat; import java.util.*; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel; /** * Nombre de la clase: FrmEmpleado * Version: 1.0 * Fecha: 31-07-2017 * Copyright: ITCA-FEPADE * @author: VA */ public class FrmEmpleado extends javax.swing.JFrame { /** * Creates new form FrmEmpleado */ public FrmEmpleado() { initComponents(); tablaE(); } Empleado em=new Empleado(); DaoEmpleado daoe=new DaoEmpleado(); private void btnLimpiarActionPerformed(java.awt.event.ActionEvent evt) { limpiar(); } private void tbEmpleadoMouseClicked(java.awt.event.MouseEvent evt) { llenarTabla(); } private void btnInsertarActionPerformed(java.awt.event.ActionEvent evt) { try { Insertar(); } catch (Exception e) { e.printStackTrace(); } tablaE(); } private void btnModificarActionPerformed(java.awt.event.ActionEvent evt) { modificar(); } private void btnEliminarActionPerformed(java.awt.event.ActionEvent evt) { eliminar(); } public void tablaE() { String [] columnas={"Codigo Empleado","Nombre", "Edad", "Sueldo"}; Object[] obj=new Object[4]; DefaultTableModel tabla=new DefaultTableModel(null, columnas); List ls; DecimalFormat df=new DecimalFormat("#,###.00"); try { ls=daoe.mostrarEmpleado(); for(int i=0; i < ls.size(); i++) { em=(Empleado)ls.get(i); obj[0]=em.getCodEmpleado(); obj[1]=em.getNombre(); obj[2]=em.getEdad(); obj[3]=df.format(em.getSueldo()); tabla.addRow(obj); } ls=daoe.mostrarEmpleado(); this.tbEmpleado.setModel(tabla); } catch (Exception e) { JOptionPane.showMessageDialog(this, "Error al mostrar los datos"+ e.toString()); } } public void Insertar() throws Exception { em.setCodEmpleado(ICONIFIED); em.setNombre(this.txtNombre.getText()); em.setEdad(Integer.parseInt(this.txtEdad.getText())); em.setSueldo(Double.parseDouble(this.txtSueldo.getText())); daoe.insertarEmpleado(em); JOptionPane.showMessageDialog(this, "Datos insertados con exito"); daoe.mostrarEmpleado(); } public void limpiar() { this.txtCodigo.setText(""); this.txtNombre.setText(""); this.txtEdad.setText(""); this.txtSueldo.setText(""); } public void modificar() { try { em.setCodEmpleado(Integer.parseInt(this.txtCodigo.getText())); em.setNombre(this.txtNombre.getText()); em.setEdad(Integer.parseInt(this.txtEdad.getText())); em.setSueldo(Double.parseDouble(this.txtSueldo.getText())); int SiONo=JOptionPane.showConfirmDialog(this, "Desea modificar el empleado", "Modificar empleado",JOptionPane.YES_NO_OPTION); if (SiONo==0) { daoe.modificarEmpleado(em); JOptionPane.showMessageDialog(this, "Datos modificados con exito", "Confirmacion", JOptionPane.INFORMATION_MESSAGE); tablaE(); limpiar(); } else { limpiar(); } } catch (Exception e) { e.printStackTrace(); } } public void eliminar() { try { em.setCodEmpleado(Integer.parseInt(this.txtCodigo.getText())); int SiONo=JOptionPane.showConfirmDialog(this, "Desea eliminar el empleado", "Eliminar empleado", JOptionPane.YES_NO_OPTION); if (SiONo==0) { daoe.eliminarEmpleado(em); JOptionPane.showMessageDialog(rootPane, "Eliminado con exito", "Confirmacion",JOptionPane.INFORMATION_MESSAGE); tablaE(); limpiar(); } else { limpiar(); } } catch (Exception e) { JOptionPane.showMessageDialog(rootPane, e.toString(),"Error", JOptionPane.ERROR_MESSAGE); } } public void llenarTabla() { int fila=this.tbEmpleado.getSelectedRow(); this.txtCodigo.setText(String.valueOf(this.tbEmpleado.getValueAt(fila, 0))); this.txtNombre.setText(String.valueOf(this.tbEmpleado.getValueAt(fila, 1))); this.txtEdad.setText(String.valueOf(this.tbEmpleado.getValueAt(fila, 2))); this.txtSueldo.setText(String.valueOf(this.tbEmpleado.getValueAt(fila, 3))); } }
Descargar Archivo
0 comentarios: