Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Java en Tres Capas
Java en Tres Capas
MANUEL RETAMOZO A.
En primer lugar Creamos un Proyecto de Aplicacin Java (Nombre:N-Capas),despues de ello se tiene que agregar el Driver mysql Jdbc a la Librera del Proyecto(Para conectarnos con la BD Ventas),luego creamos los 3 Paquetes(Capas) con sus respectivas Clases.
Donde: -el Paquete Idat.DAO =Representa a la Capa Datos - el Paquete Idat.BEANS=Representa a la Capa Negocio -el Paquete Idat.Forms =Representa a la Capa Presentacion
JAVA Pgina 1
JAVA
MANUEL RETAMOZO A.
1)Dentro de la Capa Idat.DAO en la clase Modulo.java se realiza la conexin a BD Ventas mediante 2 funciones. package Idat.DAO; import java.sql.*; public class Modulo { String driver="com.mysql.jdbc.Driver"; String url="jdbc:mysql://localhost:3306/ventas"; String user="root"; String pwd="";
public ResultSet Listar(String Cad){ try{ Class.forName(driver).newInstance(); Connection cn=DriverManager.getConnection(url,user,pwd); PreparedStatement da = cn.prepareStatement(Cad); ResultSet tbl = da.executeQuery(); return tbl; }catch(Exception e){ javax.swing.JOptionPane.showMessageDialog(null,e.getMessage()); return null; } } public String Ejecutar(String Cad){ try{ Class.forName(driver).newInstance(); Connection cn=DriverManager.getConnection(url,user,pwd); PreparedStatement da = cn.prepareStatement(Cad); int r=da.executeUpdate(); return "Se afectaron " + r + " filas"; }catch(Exception e){ javax.swing.JOptionPane.showMessageDialog(null,e.getMessage()); return "Error "+e.getMessage(); } } }
JAVA
Pgina 2
JAVA
MANUEL RETAMOZO A.
1)Dentro de la Capa Idat.BEANS en la clase Articulos.java se realizaran las funciones de Grabar,Editar,Eliminar y Listar Articulos y adems de ello se declararan las variables y se encapsularn. package Idat.BEANS; import java.util.ArrayList; import java.sql.*; import Idat.DAO.Modulo; public class Articulos { //Variables a encapsular private private private private private private public String art_cod; String art_nom; String art_uni; double art_pre; int art_stk; String art_marca;
String EliminarArticulo(){
Modulo objmod=new Modulo(); String cad="delete from articulos where art_cod='"+this.getArt_cod()+"'"; return objmod.Ejecutar(cad); } public String GrabarArticulo(){ Modulo objmod=new Modulo(); String cad="insert into articulos values('"+this.getArt_cod()+"','"+this.getArt_nom()+ "','"+this.getArt_uni()+"','"+this.getArt_pre()+ "','"+this.getArt_stk()+"',"+"'"+this.getArt_marca()+"')"; return objmod.Ejecutar(cad); }
JAVA
Pgina 3
JAVA
MANUEL RETAMOZO A.
public String EditarArticulo(){ Modulo objmod=new Modulo(); String cad="update articulos set art_nom='"+this.getArt_nom() +"',art_uni='"+this.getArt_uni()+"',art_pre='" +this.getArt_pre()+"',art_stk='"+this.getArt_stk() +"',art_marca='"+this.getArt_marca()+"' where art_cod='" +this.getArt_cod()+"'"; return objmod.Ejecutar(cad); } public ArrayList<Articulos>ListaArticulos(){ ArrayList lista2=new ArrayList(); try{ Modulo objmod=new Modulo(); ResultSet tabla=objmod.Listar("select * from articulos"); Articulos objart; while(tabla.next()){ objart=new Articulos(); objart.setArt_cod(tabla.getString("art_cod")); objart.setArt_nom(tabla.getString("art_nom")); objart.setArt_uni(tabla.getString("art_uni")); objart.setArt_pre(tabla.getDouble("art_pre")); objart.setArt_stk(tabla.getInt("art_stk")); objart.setArt_marca(tabla.getString("art_marca")); lista2.add(objart); } }catch(Exception e){ javax.swing.JOptionPane.showMessageDialog(null, e.getMessage()); } return lista2; } Resultado de las Variables Encapsuladas
public String getArt_cod() { return art_cod; } public void setArt_cod(String art_cod) { this.art_cod = art_cod; }
JAVA
Pgina 4
JAVA
MANUEL RETAMOZO A.
public String getArt_nom() { return art_nom; } public void setArt_nom(String art_nom) { this.art_nom = art_nom; } public String getArt_uni() { return art_uni; } public void setArt_uni(String art_uni) { this.art_uni = art_uni; } public double getArt_pre() { return art_pre; } public void setArt_pre(double art_pre) { this.art_pre = art_pre; }
public void setArt_stk(int art_stk) { this.art_stk = art_stk; } public String getArt_marca() { return art_marca; } public void setArt_marca(String art_marca) { this.art_marca = art_marca; } }
JAVA
Pgina 5
JAVA
MANUEL RETAMOZO A.
-En la capa Idat.Forms creamos un Formulario jFrame con el nombre de Mantenimiento_Articulos.Java en el cual dentro de el agregaremos 6 jLabels,6 jTextFields,5 jButtons y un jTable. Se tiene que tener en cuenta que al jFrame se le a asignado como diseo Nulo, y al jTable en su opcin Contenido de Tabla se le ha reducido tanto el numero de filas como los de columnas a cero para que cuando el jFrame cargue el jTable este vacio. package Idat.FORMS; import Idat.BEANS.Articulos; import java.util.ArrayList; import javax.swing.*; import javax.swing.table.DefaultTableColumnModel; import javax.swing.table.DefaultTableModel; public class Mantenimiento_Articulos extends javax.swing.JFrame { public Mantenimiento_Articulos() { initComponents(); this.setSize(700,500); ListarArticulos(); } -Creando las siguientes 2 Funciones public void ListarArticulos(){ DefaultTableModel tabla=new DefaultTableModel(); Articulos objart=new Articulos(); ArrayList<Articulos> lista2=new ArrayList(); lista2=objart.ListaArticulos(); tabla.addColumn("Codigo"); tabla.addColumn("Nombre"); tabla.addColumn("Unidad"); tabla.addColumn("Precio"); tabla.addColumn("Stock"); tabla.addColumn("Marca"); tabla.setRowCount(lista2.size()); int i=0; for(Articulos x:lista2){ tabla.setValueAt(x.getArt_cod(), i, 0); tabla.setValueAt(x.getArt_nom(), i, 1); tabla.setValueAt(x.getArt_uni(), i, 2); tabla.setValueAt(x.getArt_pre(), i, 3); tabla.setValueAt(x.getArt_stk(), i, 4); tabla.setValueAt(x.getArt_marca(), i, 5); i++; } this.jTable1.setModel(tabla); }
JAVA Pgina 6
JAVA
MANUEL RETAMOZO A.
public void LimpiarCajasTexto(){ this.jTextField1.setText(""); this.jTextField2.setText(""); this.jTextField3.setText(""); this.jTextField4.setText(""); this.jTextField5.setText(""); this.jTextField6.setText(""); } -Dentro del Botn Salir poner el Siguiente Cdigo:
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
int r=JOptionPane.showConfirmDialog(null,"Esta Seguro?"); if(r==0){ System.exit(0); } } -Dentro del jTable en su Evento MousePressed ponemos el Siguiente Cdigo:
private void jTable1MousePressed(java.awt.event.MouseEvent evt) { int rec=this.jTable1.getSelectedRow(); this.jTextField1.setText(jTable1.getValueAt(rec, this.jTextField2.setText(jTable1.getValueAt(rec, this.jTextField3.setText(jTable1.getValueAt(rec, this.jTextField4.setText(jTable1.getValueAt(rec, this.jTextField5.setText(jTable1.getValueAt(rec, this.jTextField6.setText(jTable1.getValueAt(rec, } 0).toString()); 1).toString()); 2).toString()); 3).toString()); 4).toString()); 5).toString());
int Res=JOptionPane.showConfirmDialog(null,"Esta seguro de Eliminar el Articulo: "+this.jTextField2.getText()); if(Res==0){ Articulos objart=new Articulos(); objart.setArt_cod(this.jTextField1.getText()); JOptionPane.showMessageDialog(null, objart.EliminarArticulo()); ListarArticulos(); JOptionPane.showMessageDialog(null,"Articulo Eliminado"); } }
JAVA
Pgina 7
JAVA
MANUEL RETAMOZO A.
objart.setArt_stk(Integer.parseInt(this.jTextField5.getText())); objart.setArt_marca(this.jTextField6.getText()); JOptionPane.showMessageDialog(null, objart.GrabarArticulo()); ListarArticulos(); } -Dentro del Botn Editar ponemos el Siguiente Cdigo:
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
objart.setArt_stk(Integer.parseInt(this.jTextField5.getText())); objart.setArt_marca(this.jTextField6.getText()); JOptionPane.showMessageDialog(null, objart.EditarArticulo()); ListarArticulos(); } -Dentro del Botn Nuevo ponemos el Siguiente Cdigo:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
JAVA
Pgina 8
JAVA
MANUEL RETAMOZO A.
- Notese que al darle click en cualquier celda del jTable automticamente los jTextFields se van llenando con los respectivos campos correspondientes al cdigo del articulo ubicado el la primera celda de la fila seleccionada. -Al intentar eliminar un articulo nos saldra el cuadro de dialogo preguntndonos si estamos seguros.
JAVA
Pgina 9