Aquí te dejo un código que le implemente hace mucho tiempo..espero que te sirva.
Paquete VISTA
Código PHP:
package Vista;
import Modelo.modEmpleado;
import java.awt.event.ActionListener;
public class frmEmpleado extends javax.swing.JDialog {
private modEmpleado me = new modEmpleado();
public frmEmpleado(java.awt.Frame parent, boolean modal, modEmpleado me){
super(parent, modal);
initComponents();
establecerActionCommands();
cargarInformacion();
this.me = me;
}
private void cargarInformacion(){
String s = String.valueOf(me.maxCod());
int a = Integer.parseInt(s);
String s1 = String.valueOf(a+1);
codigo.setText(s1);
}
private void establecerActionCommands(){
adicionar.setActionCommand("1");
actualizar.setActionCommand("2");
eliminar.setActionCommand("3");
}
public void registrarControlador(ActionListener al){
adicionar.addActionListener(al);
eliminar.addActionListener(al);
actualizar.addActionListener(al);
}
private javax.swing.JButton actualizar;
private javax.swing.JButton adicionar;
private javax.swing.JButton eliminar;
public javax.swing.JTextField apellido;
public javax.swing.JTextField ci;
public javax.swing.JTextField codigo;
public javax.swing.JTextField fecha;
public javax.swing.JTextField nombre;
public javax.swing.JComboBox sexo;
}
Paquete Modelo
Código PHP:
package Modelo;
public class modEmpleado {
static Session session = HibernateUtil.getSessionFactory().openSession();
private Empleado e;
public void adicionar(int codEmp, String nombre, String apellido, int ci, String sexo, String fecha){
Transaction tx = session.beginTransaction();
try {
tx.begin();
e = new Empleado(codEmp, nombre, apellido, ci, sexo, fecha);
session.persist(e);
tx.commit();
// session.close();
} catch (Exception ex) {
ex.getLocalizedMessage();
tx.rollback();
}
}
public boolean existeCodigo(int cod){
return (getCodigo(cod) != null);
}
private Empleado getCodigo(int cod){
ScrollableResults sr = null;
Transaction tr = session.beginTransaction();
sr = session.createQuery("From Empleado As emp WHERE emp.codEmp="+cod).scroll();
if(sr.next())
return (Empleado) sr.get(0);
return null;
}
public void eliminar(int cod){
Transaction tr = session.beginTransaction();
try {
tr.begin();
Query hql = session.createQuery("Delete From Empleado As e WHERE e.codEmp="+cod);
hql.executeUpdate();
tr.commit();
// session.close();
} catch (Exception ex) {
ex.getLocalizedMessage();
tr.rollback();
}
}
public void actualizar(int codEmp, String nomb, String ape, int ci, String sex, String fec){
Transaction tr = session.beginTransaction();
try {
tr.begin();
Query hql = session.createQuery("Update Empleado As e Set e.nombre='"+nomb+"', e.apellido='"+ape+"', e.ci="+ci+", e.sexo='"+sex+"', e.fecha='"+fec+"' WHERE e.codEmp="+codEmp);
hql.executeUpdate();
tr.commit();
// session.close();
} catch (Exception ex) {
ex.getLocalizedMessage();
tr.rollback();
}
}
public Object maxCod(){
ScrollableResults sr = null;
Object s = null ;
Transaction tx = session.beginTransaction();
sr = session.createQuery("Select max(codEmp) From Empleado").scroll();
if(sr.next())
s = sr.get(0);
return s;
}
Paquete Controlador
Código PHP:
public class contEmpleado implements ActionListener{
private frmEmpleado fe;
private modEmpleado me;
public contEmpleado(frmEmpleado fe, modEmpleado me){
this.fe = fe;
this.me = me;
fe.registrarControlador(this);
}
public void actionPerformed(ActionEvent e) {
switch(Integer.parseInt(e.getActionCommand())){
case 1:
if(validar()){
if(!me.existeCodigo(Integer.parseInt(fe.codigo.getText()))){
JOptionPane.showMessageDialog(null, "Los datos se Guardaron satisfactoriamente");
me.adicionar(Integer.parseInt(fe.codigo.getText()), fe.nombre.getText(),
fe.apellido.getText(), Integer.parseInt(fe.ci.getText()), fe.sexo.getSelectedItem().toString(), fe.fecha.getText());
actualizar();
}
else
JOptionPane.showMessageDialog(null, "Error..! Verifique el código");
}
else
JOptionPane.showMessageDialog(null, "Datos incorrectos..");
break;
case 2:
if(validar()){
if(me.existeCodigo(Integer.parseInt(fe.codigo.getText()))){
JOptionPane.showMessageDialog(null, "Los datos se Actualizaron satisfactoriamente");
me.actualizar(Integer.parseInt(fe.codigo.getText()), fe.nombre.getText(),
fe.apellido.getText(), Integer.parseInt(fe.ci.getText()), fe.sexo.getSelectedItem().toString(), fe.fecha.getText());
actualizar();
}
else
JOptionPane.showMessageDialog(null, "Error..! Este código no esta Registrado");
}
else
JOptionPane.showMessageDialog(null, "Datos incorrectos..");
break;
case 3:
if(validarCodigo()){
if(me.existeCodigo(Integer.parseInt(fe.codigo.getText()))){
JOptionPane.showMessageDialog(null, "Los datos se Eliminaron satisfactoriamente");
me.eliminar(Integer.parseInt(fe.codigo.getText()));
cargarInformacion();
}
else
JOptionPane.showMessageDialog(null, "Este datos no se encuentra Registrado..");
}
else
JOptionPane.showMessageDialog(null, "Datos incorrectos..");
break;
}
}
private boolean validar(){
return (!fe.codigo.getText().equals("") && !fe.ci.getText().equals("") && !fe.nombre.getText().equals("") && !fe.apellido.getText().equals(""));
}
private boolean validarCodigo(){
return (!fe.codigo.getText().equals(""));
}
private void cargarInformacion(){
String s = String.valueOf(me.maxCod());
int a = Integer.parseInt(s);
String s1 = String.valueOf(a+1);
fe.codigo.setText(s1);
}
public void actualizar(){
cargarInformacion();
fe.nombre.setText("");
fe.ci.setText("");
fe.apellido.setText("");
fe.fecha.setText("");
}
}