Está en la página 1de 10

DIAGRAMA DE CLASES

Ejercicio1: Se tiene la tabla PERSONA, EMPLEADOS y CARGOS disear un programa que permita
agregar, modificar y eliminar registros.
Crear Archivo Clase Persona
public class Persona {
private String codigo;
private String appaterno;
private String apmaterno;
private String nombres;
public Persona(String codigo, String appaterno, String apmaterno, String nombres) {
this.codigo = codigo;
this.appaterno = appaterno;
this.apmaterno = apmaterno;
this.nombres = nombres;
}
public String getApmaterno() {
return apmaterno;
}
public void setApmaterno(String apmaterno) {
this.apmaterno = apmaterno;
}
public String getAppaterno() {
return appaterno;
}
public void setAppaterno(String appaterno) {
this.appaterno = appaterno;
}
public String getCodigo() {
return codigo;
}
public void setCodigo(String codigo) {
this.codigo = codigo;
}
public String getNombres() {
return nombres;
}
public void setNombres(String nombres) {
this.nombres = nombres;
}
}
Crear Archivo Clase Empleado
public class Empleado extends Persona{
private String idcargo;
private String fec_ing;
public Empleado(String codigo, String appaterno, String apmaterno, String nombres, String
fec_ing, String idcargo ) {
super(codigo,appaterno,apmaterno,nombres);
this.idcargo = idcargo;
this.fec_ing = fec_ing;
}
public String getidCargo() {
return idcargo;
}
public void setidCargo(String idcargo) {

this.idcargo = idcargo;
}
public String getFec_ing() {
return fec_ing;
}
public void setFec_ing(String fec_ing) {
this.fec_ing = fec_ing;
}

}
public class Cargos {
protected String idcargo;
protected String descripcion;

public String getDescripcion() {


return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public String getIdcargo() {
return idcargo;
}
public void setIdcargo(String idcargo) {
this.idcargo = idcargo;
}
public Cargos(String idcargo, String descripcion) {
this.idcargo = idcargo;
this.descripcion = descripcion;
}
}
Crear Archivo Clase Conexion
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.ResultSet;
import com.mysql.jdbc.Statement;
import java.sql.*;
import java.util.ArrayList;
import javax.swing.JOptionPane;
public class Conexion {
static public Connection miBase;
Statement miOperacion;
ResultSet miRespuesta;
PreparedStatement miComando;
public Conexion() {
try {
//cargar el driver
Class.forName("com.mysql.jdbc.Driver");//permite la carga del driver
System.out.println("\n Driver JDBC Instalado");
//Lo obtenemos en Runtime...en las propiedades del objeto de conexion: Database URL

miBase
=
(Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/bdejemplo","root","");//verificar
password de la DB
System.out.println("\n Base de Datos Mysql Conectada");
miBase.setAutoCommit(false);
} catch (Exception ex) {
ex.printStackTrace(); //devuelve el error del proceso de carga del driver
}
}
public void cerrar(){
try {
miBase.close();
System.out.println("\n Base de Datos Cerrada");
} catch (SQLException ex) {
ex.printStackTrace();
}
}
public ArrayList obtenerTodosCargos() {
ArrayList liscargos = new ArrayList();
String sentencia = "select * from cargos";
try {
miOperacion = (Statement) miBase.createStatement();//para poder ejecutar las sentencias
en comandos SQL estaticos sobre miBase
miRespuesta = (ResultSet) miOperacion.executeQuery(sentencia);
String id,descripcion;
while(miRespuesta.next()){
id=miRespuesta.getString(1);
descripcion=miRespuesta.getString(2);
Cargos ocargo= new Cargos(id,descripcion);
liscargos.add(ocargo);
}
miRespuesta.close();
miBase.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Error en SQL "+ex.getMessage());
}
return liscargos;
}
public String descripcioncargo(String idcargo) {
String descripcion="";
String sentencia = "select descripcion from cargos where idcargo='"+ idcargo +"'";
try {
miOperacion = (Statement) miBase.createStatement();//para poder ejecutar las sentencias
en comandos SQL estaticos sobre miBase
miRespuesta = (ResultSet) miOperacion.executeQuery(sentencia);
while(miRespuesta.next()){
descripcion=miRespuesta.getString(1);
}
miRespuesta.close();
miBase.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Error en SQL "+ex.getMessage());
}
return descripcion;

}
public boolean insertarpersona(Persona opersona){
boolean ok=true;
String sentencia="insert into persona (codigo,appaterno,apmaterno,nombres) values(?,?,?,?)";
try {
miComando = (PreparedStatement) miBase.prepareStatement(sentencia);
miComando.setString(1,opersona.getCodigo());
miComando.setString(2,opersona.getAppaterno());
miComando.setString(3,opersona.getApmaterno());
miComando.setString(4,opersona.getNombres());
int valor=miComando.executeUpdate();
if(valor <= 0){
ok=false;
}
if(ok){
miBase.commit();
JOptionPane.showMessageDialog(null,"Persona Registro Nuevo Grabado");
}else{
miBase.rollback();
}
miComando.close();
miBase.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Error en SQL "+ex.getMessage());
}
return ok;
}
public boolean insertarempleado(Empleado oempleado){
boolean ok=true;
String sentencia="insert into empleado values(?,?,?)";
try {
miComando = (PreparedStatement) miBase.prepareStatement(sentencia);
miComando.setString(1,oempleado.getCodigo());
miComando.setString(2,oempleado.getFec_ing());
miComando.setString(3,oempleado.getCargo());
int valor=miComando.executeUpdate();
if(valor <= 0){
ok=false;
}
if(ok){
miBase.commit();
JOptionPane.showMessageDialog(null,"Empleado Registro Nuevo Grabado");
}else{
miBase.rollback();
}
miComando.close();
miBase.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Error en SQL "+ex.getMessage());
}
return ok;
}
public ArrayList obtener_x_codigo(String codigo) {
ArrayList lisempleado = new ArrayList();

String sentencia = "select p.codigo,p.appaterno,p.apmaterno,p.nombres,e.fechaingreso,e.cargo


from persona p inner join empleado e on p.codigo=e.codigo where p.codigo='"+ codigo +"'";
try {
miOperacion = (Statement) miBase.createStatement();//para poder ejecutar las sentencias
en comandos SQL estaticos sobre miBase
miRespuesta = (ResultSet) miOperacion.executeQuery(sentencia);
String cod,nom,app,apm,fecing,car;
while(miRespuesta.next()){
cod=miRespuesta.getString(1);
app=miRespuesta.getString(2);
apm=miRespuesta.getString(3);
nom=miRespuesta.getString(4);
fecing=miRespuesta.getString(5);
car=miRespuesta.getString(6);
Empleado oempleado= new Empleado(cod,app,apm,nom,fecing,car);
lisempleado.add(oempleado);
}
miRespuesta.close();
miBase.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Error en SQL "+ex.getMessage());
}
return lisempleado;
}
public boolean modificarpersona(Persona opersona){
boolean ok=true;
String sentencia="update persona set appaterno=?,apmaterno=?, nombres=? where codigo=?";
try {
miComando = (PreparedStatement) miBase.prepareStatement(sentencia);
miComando.setString(1,opersona.getAppaterno());
miComando.setString(2,opersona.getApmaterno());
miComando.setString(3,opersona.getNombres());
miComando.setString(4,opersona.getCodigo());
int valor=miComando.executeUpdate();
if(valor <= 0){
ok=false;
}
if(ok){
miBase.commit();
JOptionPane.showMessageDialog(null,"Persona Registro Modificado");
}else{
miBase.rollback();
}
miComando.close();
miBase.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Error en SQL "+ex.getMessage());
}
return ok;
}
public boolean modificarempleado(Empleado oempleado){
boolean ok=true;
String sentencia="update empleado set fechaingreso=?, cargo=? where codigo=?";
try {
miComando = (PreparedStatement) miBase.prepareStatement(sentencia);

miComando.setString(1,oempleado.getFec_ing());
miComando.setString(2,oempleado.getCargo());
miComando.setString(3,oempleado.getCodigo());
int valor=miComando.executeUpdate();
if(valor <= 0){
ok=false;
}
if(ok){
miBase.commit();
JOptionPane.showMessageDialog(null,"Empleado Registro Modificado");
}else{
miBase.rollback();
}
miComando.close();
miBase.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Error en SQL "+ex.getMessage());
}
return ok;
}
public boolean eliminarpersona(String codigo){
boolean ok=true;
String sentencia="delete from persona where codigo=?";
try {
miComando = (PreparedStatement) miBase.prepareStatement(sentencia);
miComando.setString(1,codigo);
int fila=miComando.executeUpdate();
if (fila>0){
ok=true;
}
else{
ok=false;
}
if(ok){
miBase.commit();
JOptionPane.showMessageDialog(null,"Persona Registro Eliminado");
}else{
miBase.rollback();
}
miComando.close();
miBase.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Error en SQL "+ex.getMessage());
}
return ok;
}
public boolean eliminarempleado(String codigo){
boolean ok=true;
String sentencia="delete from empleado where codigo=?";
try {
miComando = (PreparedStatement) miBase.prepareStatement(sentencia);
miComando.setString(1,codigo);
int fila=miComando.executeUpdate();
if (fila>0){
ok=true;

}
else{
ok=false;
}
if(ok){
miBase.commit();
JOptionPane.showMessageDialog(null,"Empleado Registro Eliminado");
}else{
miBase.rollback();
}
miComando.close();
miBase.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Error en SQL "+ex.getMessage());
}
return ok;

public f_empleado(java.awt.Frame parent, boolean modal) {


super(parent, modal);
initComponents();
cbocargo.removeAllItems();
Conexion ocon=new Conexion();
ArrayList<Cargos> lista1=ocon.obtenerTodosCargos();
for (int i=0;i<lista1.size();i++)
{
Cargos ocargo=lista1.get(i);
cbocargo.addItem(ocargo.getIdcargo()+ " - " + ocargo.getDescripcion());
}
}
Generate code
int edita;

private void formWindowActivated(java.awt.event.WindowEvent evt) {


Date fecha=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("dd/MM/yyyy");
txtfecha.setText(sdf.format(fecha));
}
Codigo Boton Nuevo
private void btnnuevoActionPerformed(java.awt.event.ActionEvent evt) {
if (btnnuevo.getText().equals("Nuevo")) {
btnnuevo.setText("Grabar");
btnmodificar.setText("Cancelar");
edita=0;
desactctrls(true);
limpiar();
} else if(btnnuevo.getText().equals("Grabar")) {
btnnuevo.setText("Nuevo");
btnmodificar.setText("Modificar");
if (edita==0){
insertareg();
} else if (edita==1){
modificareg();
}
desactctrls(false);
limpiar();
btneliminar.setEnabled(false);
jButton3.setEnabled(false);
}
}
Codigo Botn Modificar
private void btnmodificarActionPerformed(java.awt.event.ActionEvent evt) {
if (btnmodificar.getText().equals("Modificar")) {
btnnuevo.setText("Grabar");
btnmodificar.setText("Cancelar");
edita=1;
desactctrls(true);
btneliminar.setEnabled(true) ;
jButton3.setEnabled(true);
} else if(btnmodificar.getText().equals("Cancelar")) {
btnnuevo.setText("Nuevo");
btnmodificar.setText("Modificar");
limpiar();
btneliminar.setEnabled(false);
jButton3.setEnabled(false);
desactctrls(false);
}
}
Codigo Boton Eliminar
private void btneliminarActionPerformed(java.awt.event.ActionEvent evt) {
eliminarreg();
desactctrls(false);
btnnuevo.setText("Nuevo");
btnmodificar.setText("Modificar");
jButton3.setEnabled(false);

}
Codigo Boton Buscar
private void btnBuscarActionPerformed(java.awt.event.ActionEvent evt) {
Conexion cn=new Conexion();
String cod,descargo;
cod=txtcodigo.getText();
ArrayList<Empleado> vector=cn.obtener_x_codigo(cod);
if (!(vector.isEmpty())) {
Empleado oemp=vector.get(0);
txtcodigo.setText(oemp.getCodigo());
txtnombres.setText(oemp.getNombres());
txtappaterno.setText(oemp.getAppaterno());
txtapmaterno.setText(oemp.getApmaterno());
txtfecha.setText(oemp.getFec_ing());
Conexion cn1=new Conexion();
descargo=cn1.descripcioncargo(oemp.getidCargo());
cbocargo.setSelectedItem(oemp.getidCargo()+" - " + descargo);
} else {
limpiar();
JOptionPane.showMessageDialog(null,"No Existe Registro");
}
}
Procedimientos
private void desactctrls(boolean act){
txtcodigo.setEnabled(act);
txtappaterno.setEnabled(act);
txtapmaterno.setEnabled(act);
txtnombres.setEnabled(act);
txtfecha.setEnabled(act);
cbocargo.setEnabled(act);
}
private void limpiar(){
txtcodigo.setText("");
txtappaterno.setText("");
txtapmaterno.setText("");
txtnombres.setText("");
cbocargo.setSelectedIndex(0);
}
private void insertareg(){
String cod,nom,app,apm,idcargo,fecha;
cod=txtcodigo.getText();
nom=txtnombres.getText();
app=txtappaterno.getText();
apm=txtapmaterno.getText();
idcargo=((String) cbocargo.getSelectedItem()).substring(0,2);
fecha=txtfecha.getText();
Empleado oempleado=new Empleado(cod,app,apm,nom,fecha,idcargo);
Conexion cn=new Conexion();
cn.insertarpersona(oempleado);
Conexion cn1=new Conexion();
cn1.insertarempleado(oempleado);
}
private void modificareg(){
String cod,nom,app,apm,fecing,idcargo;
cod=txtcodigo.getText();

nom=txtnombres.getText();
app=txtappaterno.getText();
apm=txtapmaterno.getText();
fecing=txtfecha.getText();
idcargo=((String) cbocargo.getSelectedItem()).substring(0,2);
Empleado oemp=new Empleado(cod,app,apm,nom,fecing,idcargo);
Conexion cn=new Conexion();
cn.modificarpersona(oemp);
Conexion cn1=new Conexion();
cn1.modificarempleado(oemp);
private void eliminarreg(){
String cod;
cod=txtcodigo.getText();
Conexion cn=new Conexion();
cn.eliminarpersona(cod);
Conexion cn1=new Conexion();
cn1.eliminarempleado(cod);
limpiar();
}

También podría gustarte