CRUD EN JAVA NETBEANS DAO MYSQL



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.



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
 Descargar

0 comentarios: