You are on page 1of 9

JAVA

MANUEL RETAMOZO A.

ARQUITECTURA N CAPAS EN JAVA


Para esta ocasin de realizara un ejemplo de Mantenimiento de Datos desde Java (NetBeans) en conexin a MySql utilizando la Base de Datos Ventas. Con respecto a la BD Ventas crearemos sus respectivas tablas y campos pero utilizaremos solo la Tabla Artculos para realizar los diversos mantenimientos desde el formulario en Java.

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 int getArt_stk() { return art_stk; }

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());

-Dentro del Boton Eliminar ponemos el Siguiente Cdigo:


private void jButton4ActionPerformed(java.awt.event.ActionEvent evt)
{

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.

-Dentro del Botn Grabar ponemos el Siguiente Cdigo:


private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

Articulos objart=new Articulos(); objart.setArt_cod(this.jTextField1.getText()); objart.setArt_nom(this.jTextField2.getText()); objart.setArt_uni(this.jTextField3.getText());


objart.setArt_pre(Double.parseDouble(this.jTextField4.getText()));

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) {

Articulos objart=new Articulos(); objart.setArt_cod(this.jTextField1.getText()); objart.setArt_nom(this.jTextField2.getText()); objart.setArt_uni(this.jTextField3.getText());


objart.setArt_pre(Double.parseDouble(this.jTextField4.getText()));

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)

{ LimpiarCajasTexto();//Llamando a la Funcion } }//Cierre Final de la Aplicacin

JAVA

Pgina 8

JAVA

MANUEL RETAMOZO A.

-Al ejecutar la el jFrame debemos apreciar el resultado de la siguiente manera.

- 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

You might also like