comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[JAVA][MYSQL] Tutorial Basico

  • 8 Respuestas
  • 2847 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado LKI

  • *
  • Underc0der
  • Mensajes: 61
  • Actividad:
    0%
  • Reputación 0
  • |Un día sin aprender nada, es un día perdido..|
    • Ver Perfil
    • Email
« en: Octubre 04, 2014, 04:33:17 pm »
Buenas gente llevo unos días preparando este tutorial que por mas básico que sea, me llevo un buen rato asi que espero que lo disfruten :P

Requisitos:
-IDE (Eclipse/Netbeans) No es obligatorio.
-Gestor de base de datos con MYSQL (Yo usare AppServ  2.5.10 pero se puede usar cualquier otro) Obligatorio.
-El driver MYSQL para conectarnos a la base de datos (Se puede bajar de la pagina oficial de MYSQL) Obligatorio.
-Conocimientos Básico-Intermedios de programación.


Introduccion:
Para llevar a cabo este tutorial se hará uso de la metodología MVC (Modelo-Vista-Controlador).
Citar
El cual es un patrón de arquitectura de software que separa los datos y la lógica de negocio de una aplicación de la interfaz de usuario y el módulo encargado de gestionar los eventos y las comunicaciones. Para ello MVC propone la construcción de tres componentes distintos que son el modelo, la vista y el controlador, es decir, por un lado define componentes para la representación de la información, y por otro lado para la interacción del usuario.Este patrón de arquitectura de software se basa en las ideas de reutilización de código y la separación de conceptos, características que buscan facilitar la tarea de desarrollo de aplicaciones y su posterior mantenimiento. WIKIPEDIA
                                                       

Diseño:

Base de datos
    • Creacion de la base de datos.
    [/list]
    Código: SQL
    1. CREATE DATABASE  `dbtest` ;
    • Creacion de la tabla y volcado de la misma.
    Código: SQL
    1. -- Estructura de tabla para la tabla 'producto'
    2. --
    3.  
    4. CREATE TABLE producto (
    5.   p_id VARCHAR(6) NOT NULL,
    6.   p_nombre VARCHAR(21) NOT NULL,
    7.   p_precio FLOAT NOT NULL DEFAULT '0',
    8.   p_cantidad INT(20) NOT NULL DEFAULT '0',
    9.   PRIMARY KEY  (p_id)
    10. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    11.  
    12. --
    13. -- Volcar la base de datos para la tabla 'producto'
    14. --
    15.  
    16. INSERT INTO producto VALUES ('P9-U7J', 'Producto 1', 100, 0);
    17. INSERT INTO producto VALUES ('KO-8HY', 'Producto 2', 56.9, 0);
    18. INSERT INTO producto VALUES ('UJ-9KK', 'Producto 3', 120.5, 0);
    19. INSERT INTO producto VALUES ('KK-77G', 'Producto 4', 23.4, 0);
    20. INSERT INTO producto VALUES ('KJ-886', 'Producto 5', 88, 0);
    21. INSERT INTO producto VALUES ('PP-99P', 'Producto 6', 78.9, 0);
    22. INSERT INTO producto VALUES ('GH-77U', 'Producto 7', 99.9, 0);

    Estructura de la base de datos:
                             

    Programacion:
    • Estructura del programa

    • Creación de las clases:
    Empezaremos creando un nuevo proyecto en eclipse FILE -> New -> Java Project y de nombre al proyecto le pondremos TutorialUndercode. Click izquierdo en el proyecto (NEW -> Package ) y crearemos los paquetes controlador,vista y modelo.

    La Vista:
    Empezaremos creando el modelo GUI (Interfaz Grafica de Usuario) para nuestro proyecto que tendrá la siguiente forma:
                   

    VentanaVista2:
    Crearemos dentro del paquete vista otra ventana que nos permitira ingresar nuevos registros a la base de datos:
    Código: Java
    1. package vista;
    2.  
    3. import javax.swing.JDialog;
    4. /*
    5.  * Se desarrolla una clase de tipo JDialog que permite
    6.  *  agregar elementos a partir de una nueva ventana.
    7.  *
    8.  */
    9. public class VentanaVista2 extends No tienes permisos para ver links. Registrate o Entra con tu cuenta {
    10.         public No tienes permisos para ver links. Registrate o Entra con tu cuenta txtID;
    11.         public No tienes permisos para ver links. Registrate o Entra con tu cuenta txtNombre;
    12.         public No tienes permisos para ver links. Registrate o Entra con tu cuenta txtPrecio;
    13.         public No tienes permisos para ver links. Registrate o Entra con tu cuenta txtCantidad;
    14.         public No tienes permisos para ver links. Registrate o Entra con tu cuenta aceptar;
    15.  
    16.         public VentanaVista2() {
    17.  
    18.                 iniciarComponentes();
    19.  
    20.         }
    21.  
    22.         /*
    23.          * Se inicializa una GUI normal.
    24.          */
    25.         private void iniciarComponentes() {
    26.  
    27.                 this.setSize(225, 209);
    28.                 getContentPane().setLayout(null);
    29.  
    30.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta id_producto = new No tienes permisos para ver links. Registrate o Entra con tu cuenta("id_producto");
    31.                 id_producto.setFont(new No tienes permisos para ver links. Registrate o Entra con tu cuenta("Tahoma", No tienes permisos para ver links. Registrate o Entra con tu cuenta.PLAIN, 13));
    32.                 id_producto.setBounds(10, 11, 75, 14);
    33.                 getContentPane().add(id_producto);
    34.  
    35.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta nombre_producto = new No tienes permisos para ver links. Registrate o Entra con tu cuenta("Nombre");
    36.                 nombre_producto.setFont(new No tienes permisos para ver links. Registrate o Entra con tu cuenta("Tahoma", No tienes permisos para ver links. Registrate o Entra con tu cuenta.PLAIN, 13));
    37.                 nombre_producto.setBounds(10, 36, 75, 14);
    38.                 getContentPane().add(nombre_producto);
    39.  
    40.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta precio_producto = new No tienes permisos para ver links. Registrate o Entra con tu cuenta("Precio");
    41.                 precio_producto.setFont(new No tienes permisos para ver links. Registrate o Entra con tu cuenta("Tahoma", No tienes permisos para ver links. Registrate o Entra con tu cuenta.PLAIN, 13));
    42.                 precio_producto.setBounds(10, 61, 75, 14);
    43.                 getContentPane().add(precio_producto);
    44.  
    45.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta cantidad_producto = new No tienes permisos para ver links. Registrate o Entra con tu cuenta("Cantidad");
    46.                 cantidad_producto.setFont(new No tienes permisos para ver links. Registrate o Entra con tu cuenta("Tahoma", No tienes permisos para ver links. Registrate o Entra con tu cuenta.PLAIN, 13));
    47.                 cantidad_producto.setBounds(10, 86, 75, 14);
    48.                 getContentPane().add(cantidad_producto);
    49.  
    50.                 txtID = new No tienes permisos para ver links. Registrate o Entra con tu cuenta();
    51.                 txtID.setBounds(95, 9, 86, 20);
    52.                 getContentPane().add(txtID);
    53.                 txtID.setColumns(10);
    54.  
    55.                 txtNombre = new No tienes permisos para ver links. Registrate o Entra con tu cuenta();
    56.                 txtNombre.setColumns(10);
    57.                 txtNombre.setBounds(95, 34, 86, 20);
    58.                 getContentPane().add(txtNombre);
    59.  
    60.                 txtPrecio = new No tienes permisos para ver links. Registrate o Entra con tu cuenta();
    61.                 txtPrecio.setColumns(10);
    62.                 txtPrecio.setBounds(95, 59, 86, 20);
    63.                 getContentPane().add(txtPrecio);
    64.  
    65.                 txtCantidad = new No tienes permisos para ver links. Registrate o Entra con tu cuenta();
    66.                 txtCantidad.setColumns(10);
    67.                 txtCantidad.setBounds(95, 84, 86, 20);
    68.                 getContentPane().add(txtCantidad);
    69.  
    70.                 aceptar = new No tienes permisos para ver links. Registrate o Entra con tu cuenta("Aceptar");
    71.                 aceptar.setBounds(50, 127, 119, 33);
    72.                 getContentPane().add(aceptar);
    73.  
    74.         }
    75. }
    76.  
    • El Controlador:
    Creamos dentro del paquete controlador una clase llamada Controlador que hara de interfaz entre la conexion y consulta a la base de datos y la GUI.
    Código: Java
    1. package controlador;
    2.  
    3. import java.awt.event.ActionEvent;
    4. import java.awt.event.ActionListener;
    5. import java.awt.event.MouseEvent;
    6. import java.awt.event.MouseListener;
    7.  
    8. import javax.swing.JOptionPane;
    9. import javax.swing.table.DefaultTableModel;
    10.  
    11. import vista.VentanaVista2;
    12. import vista.VentanaVista;
    13. import modelo.Modelo;
    14.  
    15. public class Controlador implements No tienes permisos para ver links. Registrate o Entra con tu cuenta, No tienes permisos para ver links. Registrate o Entra con tu cuenta {
    16. /*
    17.  * Controlador:
    18.  * Comunica a la interfaz grafica con la logica
    19.  */
    20.         private VentanaVista2 vista2;
    21.         private Modelo modelo;
    22.         private VentanaVista vista;
    23.        
    24.         public Controlador(Modelo _modelo, VentanaVista _vista,
    25.                         VentanaVista2 _vista2) {
    26.                 this.vista2 = _vista2;
    27.                 this.modelo = _modelo;
    28.                 this.vista = _vista;
    29.                 this.vista.setVisible(true);
    30.                 agregarEventos();
    31.  
    32.         }
    33.  
    34.         private void agregarEventos() {
    35.  
    36.                 this.vista.btnAgregarProductos.addActionListener(this);// añadimos el// evento
    37.                 this.vista.btnAgregarProductos.setActionCommand("agregarProductos");// reconocimiento del boton
    38.                 this.vista.btnEliminarProductos.addActionListener(this);
    39.                                                                                                                                
    40.                 this.vista.btnEliminarProductos.setActionCommand("eliminarProductos");// reconocimiento del boton
    41.                 this.vista.btnVerProductos.addActionListener(this);// añadimos el evento
    42.                 this.vista.btnVerProductos.setActionCommand("verProductos");// reconocimiento del boton
    43.                 this.vista.itemCreditos.setActionCommand("creditos");
    44.                 this.vista.itemCreditos.addActionListener(this);
    45.                 this.vista.btnEditarProductos.addActionListener(this);
    46.                 this.vista.btnEditarProductos.setActionCommand("editarProductos");
    47.  
    48.                 // añade e inicia el jtable con un DefaultTableModel vacio
    49.                 this.vista.__tabla_producto.addMouseListener(this); // añadimos el
    50.                                                                                                                         // evento
    51.                 this.vista.__tabla_producto.setModel(new No tienes permisos para ver links. Registrate o Entra con tu cuenta());
    52.                 this.vista.setLocationRelativeTo(null); // Centramos la aplicacion
    53.  
    54.         }
    55.  
    56.  
    57.         @Override
    58.         public void actionPerformed(No tienes permisos para ver links. Registrate o Entra con tu cuenta evento) { //Se lleva a cabo el manejo de eventos
    59.                                                      
    60.                 switch (evento.getActionCommand()) {        
    61.  
    62.                 case "verProductos":
    63.  
    64.                         this.vista.__tabla_producto
    65.                                         .setModel(this.modelo.getTablaProducto());
    66.                         this.vista.btnVerProductos.setEnabled(false);
    67.                         break;
    68.  
    69.                 case "agregarProductos":
    70.  
    71.                         this.vista2 = new VentanaVista2();
    72.                         this.vista2.setModal(true);
    73.                         this.vista2.setLocationRelativeTo(vista);
    74.                         this.vista2.aceptar.addActionListener(this);
    75.                         this.vista2.aceptar.setActionCommand("nuevoRegistro");
    76.                         this.vista2.setVisible(true);
    77.                         break;
    78.  
    79.                 case "eliminarProductos":
    80.  
    81.                         if (this.modelo.EliminarProducto(
    82.                                         this.vista.__id_producto.getText(),
    83.                                         this.vista.__nombre.getText())) {
    84.  
    85.                                 this.vista.__tabla_producto.setModel(this.modelo
    86.                                                 .getTablaProducto());
    87.                                 this.vista.__id_producto.setText("");
    88.                                 this.vista.__nombre.setText("");
    89.                                 this.vista.__precio.setText("0");
    90.                                 this.vista.__cantidad.setText("0");
    91.                         }
    92.  
    93.                         break;
    94.                 case "creditos":
    95.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta.showMessageDialog(this.vista,
    96.                                         "Modificiado y adaptado de http://www.jc-mouse.net/",
    97.                                         "Creditos", No tienes permisos para ver links. Registrate o Entra con tu cuenta.INFORMATION_MESSAGE);
    98.  
    99.                         break;
    100.                 case "editarProductos":
    101.  
    102.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta id = this.vista.__id_producto.getText();
    103.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta nombre = this.vista.__nombre.getText();
    104.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta precio = this.vista.__precio.getText();
    105.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta cantidad = this.vista.__cantidad.getText();
    106.                         if (this.modelo.editarProducto(id, nombre, precio, cantidad)) {
    107.  
    108.                                 this.vista.__tabla_producto.setModel(this.modelo
    109.                                                 .getTablaProducto());
    110.                                 this.vista.__id_producto.setText("");
    111.                                 this.vista.__nombre.setText("");
    112.                                 this.vista.__precio.setText("0");
    113.                                 this.vista.__cantidad.setText("0");
    114.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.showMessageDialog(vista,
    115.                                                 "Registro agregado correctamente!!");
    116.                         } else {
    117.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.showMessageDialog(vista,
    118.                                                 "Error no pueden existir campos vacios");
    119.                         }
    120.  
    121.                         break;
    122.  
    123.                 case "nuevoRegistro":
    124.  
    125.                         if (this.modelo.NuevoProducto(this.vista2.txtID.getText(),
    126.                                         this.vista2.txtNombre.getText(),
    127.                                         this.vista2.txtPrecio.getText(),
    128.                                         this.vista2.txtCantidad.getText())) {
    129.                                 this.vista2.dispose();
    130.                                 this.vista.__tabla_producto.setModel(this.modelo
    131.                                                 .getTablaProducto());
    132.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.showMessageDialog(vista,
    133.                                                 "Exito: Nuevo registro agregado.");
    134.                                 this.vista.__id_producto.setText("");
    135.                                 this.vista.__nombre.setText("");
    136.                                 this.vista.__precio.setText("0");
    137.                                 this.vista.__cantidad.setText("0");
    138.                         } else
    139.                                 // ocurrio un error
    140.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.showMessageDialog(vista,
    141.                                                 "Error: Los datos son incorrectos.");
    142.                         break;
    143.  
    144.                 }
    145.  
    146.         }
    147.        
    148.           /*Se implementa el metodo abstracto que atiende el click del mouse
    149.            */
    150.         public void mouseClicked(No tienes permisos para ver links. Registrate o Entra con tu cuenta e) {
    151.                 if (e.getButton() == 1)// Si se presiona click sobre algun elemento del
    152.                                                                 // JTable lo mostramos en los textFields
    153.                 {
    154.                         int fila = this.vista.__tabla_producto.rowAtPoint(e.getPoint());
    155.                         if (fila > -1) {
    156.                                 this.vista.__id_producto.setText(No tienes permisos para ver links. Registrate o Entra con tu cuenta
    157.                                                 .valueOf(this.vista.__tabla_producto
    158.                                                                 .getValueAt(fila, 0)));
    159.                                 this.vista.__nombre.setText(No tienes permisos para ver links. Registrate o Entra con tu cuenta
    160.                                                 .valueOf(this.vista.__tabla_producto
    161.                                                                 .getValueAt(fila, 1)));
    162.                                 this.vista.__precio.setText(No tienes permisos para ver links. Registrate o Entra con tu cuenta
    163.                                                 .valueOf(this.vista.__tabla_producto
    164.                                                                 .getValueAt(fila, 2)));
    165.                                 this.vista.__cantidad.setText(No tienes permisos para ver links. Registrate o Entra con tu cuenta
    166.                                                 .valueOf(this.vista.__tabla_producto
    167.                                                                 .getValueAt(fila, 3)));
    168.                         }
    169.  
    170.                         this.vista.__id_producto.setEditable(false);
    171.                 }
    172.         }
    173.  
    174.         @Override
    175.         public void mouseEntered(No tienes permisos para ver links. Registrate o Entra con tu cuenta arg0) {
    176.                 // TODO Auto-generated method stub
    177.  
    178.         }
    179.  
    180.         @Override
    181.         public void mouseExited(No tienes permisos para ver links. Registrate o Entra con tu cuenta arg0) {
    182.                 // TODO Auto-generated method stub
    183.  
    184.         }
    185.  
    186.         @Override
    187.         public void mousePressed(No tienes permisos para ver links. Registrate o Entra con tu cuenta arg0) {
    188.                 // TODO Auto-generated method stub
    189.  
    190.         }
    191.  
    192.         @Override
    193.         public void mouseReleased(No tienes permisos para ver links. Registrate o Entra con tu cuenta arg0) {
    194.                 // TODO Auto-generated method stub
    195.  
    196.         }
    197.  
    198. }
    199.  
    • El Modelo:
    Dentro del modelo crearemos dos clases Conexion y Modelo, la primera nos conectara a la base de datos y la segunda obtendrá la información necesaria de la misma.
    • Conexion
    Código: Java
    1. package modelo;
    2.  
    3. import java.io.ObjectInputStream.GetField;
    4. import java.sql.Connection;
    5. import java.sql.DriverManager;
    6. import java.sql.PreparedStatement;
    7. import java.sql.ResultSet;
    8. import java.sql.SQLException;
    9. /*
    10.  * LLeva a cabo la conexion con la base de datos.
    11.  */
    12. public class Conexion {
    13.  
    14.         /*
    15.          * Se declaran los atributos de la conexion.
    16.          */
    17.         private static No tienes permisos para ver links. Registrate o Entra con tu cuenta usuario = "root";
    18.         private static No tienes permisos para ver links. Registrate o Entra con tu cuenta password = "root";
    19.         private static No tienes permisos para ver links. Registrate o Entra con tu cuenta baseDeDatos = "";
    20.         private static No tienes permisos para ver links. Registrate o Entra con tu cuenta driver = "com.mysql.jdbc.Driver";
    21.         private static No tienes permisos para ver links. Registrate o Entra con tu cuenta servidor = "jdbc:mysql://localhost/" + baseDeDatos;
    22.         private static No tienes permisos para ver links. Registrate o Entra con tu cuenta conexion = null;
    23.  
    24.         /*
    25.          * Constructor sobrecargado permite configurar el acceso a cualquier DB especificando
    26.          * la tabla el usuario y la contraseña.
    27.          */
    28.         public Conexion(No tienes permisos para ver links. Registrate o Entra con tu cuenta usuario, No tienes permisos para ver links. Registrate o Entra con tu cuenta password, No tienes permisos para ver links. Registrate o Entra con tu cuenta baseDeDatos) {
    29.                 setUsuario(usuario);
    30.                 setPassword(password);
    31.                 setBaseDeDatos(baseDeDatos);
    32.                 Conexion.servidor = "jdbc:mysql://localhost/" + getBaseDeDatos();
    33.  
    34.         }
    35.  
    36.         public Conexion() {
    37.  
    38.                 Conexion.servidor = "jdbc:mysql://localhost/" + getBaseDeDatos();
    39.  
    40.         }
    41.  
    42.         /*
    43.          * Metodo que se conecta y establece la conexion al servidor
    44.          */
    45.         void establecerConexion() {
    46.  
    47.                 try {
    48.                         Class.forName(driver); // Cargo el driver de MYSQL
    49.           conexion = No tienes permisos para ver links. Registrate o Entra con tu cuenta.getConnection(servidor, usuario, password); // Establezco la conexion
    50.                 } catch (No tienes permisos para ver links. Registrate o Entra con tu cuenta | No tienes permisos para ver links. Registrate o Entra con tu cuenta excepcion) {
    51.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("Error en la conexion trate incorporando\n El driver a su proyecto ");
    52.         }
    53.  
    54. }
    55.         /*
    56.          * Metodos GETTERS y SETTERS
    57.          */
    58.  
    59.         public static No tienes permisos para ver links. Registrate o Entra con tu cuenta getUsuario() {
    60.                 return usuario;
    61.         }
    62.  
    63.         public static void setUsuario(No tienes permisos para ver links. Registrate o Entra con tu cuenta usuario) {
    64.                 Conexion.usuario = usuario;
    65.         }
    66.  
    67.         public static No tienes permisos para ver links. Registrate o Entra con tu cuenta getPassword() {
    68.                 return password;
    69.         }
    70.  
    71.         public static void setPassword(No tienes permisos para ver links. Registrate o Entra con tu cuenta password) {
    72.                 Conexion.password = password;
    73.         }
    74.  
    75.         public static No tienes permisos para ver links. Registrate o Entra con tu cuenta getDriver() {
    76.                 return driver;
    77.         }
    78.  
    79.         public static void setDriver(No tienes permisos para ver links. Registrate o Entra con tu cuenta driver) {
    80.                 Conexion.driver = driver;
    81.         }
    82.  
    83.         public static No tienes permisos para ver links. Registrate o Entra con tu cuenta getServidor() {
    84.                 return servidor;
    85.         }
    86.  
    87.         public static void setServidor(No tienes permisos para ver links. Registrate o Entra con tu cuenta servidor) {
    88.                 Conexion.servidor = servidor;
    89.         }
    90.  
    91.         public No tienes permisos para ver links. Registrate o Entra con tu cuenta getConexion() {
    92.                 return conexion;
    93.         }
    94.  
    95.         public void setConexion(No tienes permisos para ver links. Registrate o Entra con tu cuenta conexion) {
    96.                 Conexion.conexion = conexion;
    97.         }
    98.  
    99.         public static No tienes permisos para ver links. Registrate o Entra con tu cuenta getBaseDeDatos() {
    100.                 return baseDeDatos;
    101.         }
    102.  
    103.         public static void setBaseDeDatos(No tienes permisos para ver links. Registrate o Entra con tu cuenta baseDeDatos) {
    104.                 Conexion.baseDeDatos = baseDeDatos;
    105.         }
    106.  
    107. }
    108.  
    • Modelo
    Código: Java
    1. package modelo;
    2.  
    3. import javax.swing.table.DefaultTableModel;
    4. import javax.swing.*;
    5.  
    6. import java.sql.*;
    7. /*
    8.  * LLeva a cabo la logica del programa y le entrega los datos procesados
    9.  * a los niveles adyacentes
    10.  *
    11.  */
    12.  
    13. public class Modelo {
    14.         private Conexion conexionMYSQL;
    15.         private boolean res = false;
    16.         private boolean bandera = false;
    17.  
    18.         public Modelo() {
    19.                 conexionMYSQL = new Conexion("root", "root", "dbtest");
    20.                 //Se establece la base de datos y las claves de acceso para la conexion aL GESTOR MYSQL.
    21.         }
    22.  
    23.         //Metodo que retorna un DefaultTableModel permitiendo llenar la tabla del GUI.
    24.         public No tienes permisos para ver links. Registrate o Entra con tu cuenta getTablaProducto() {
    25.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta tablemodel = new No tienes permisos para ver links. Registrate o Entra con tu cuenta();
    26.                 int registros = 0;
    27.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta[] columNames = { "ID", "Nomnbre", "Precio", "Cantidad" }; //Se establecen las columnas de la tabla
    28.                 // obtenemos la cantidad de registros existentes en la tabla y se
    29.                 // almacena en la variable "registros"
    30.                 // para formar la matriz de datos
    31.                 try {
    32.  
    33.                         conexionMYSQL.establecerConexion(); //Nos conectamos a la base de datos
    34.  
    35.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta pstm = conexionMYSQL.getConexion()
    36.                                         .prepareStatement("SELECT count(*) as total FROM producto");
    37.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta res = pstm.executeQuery();
    38.                         res.next();
    39.                         registros = res.getInt("total"); //Obtenemos el total de los registros para crear la matriz de objetos
    40.                         res.close();
    41.                 } catch (No tienes permisos para ver links. Registrate o Entra con tu cuenta e) {
    42.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta.err.println(e.getMessage());
    43.                 }
    44.                 // se crea una matriz con tantas filas y columnas que necesite
    45.                 No tienes permisos para ver links. Registrate o Entra con tu cuenta[][] data = new No tienes permisos para ver links. Registrate o Entra con tu cuenta[registros][4];
    46.                 try {
    47.                         // realizamos la consulta sql y llenamos los datos en la matriz
    48.                         // "Object[][] data"
    49.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta pstm = conexionMYSQL.getConexion()
    50.                                         .prepareStatement("SELECT * FROM producto");
    51.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta res = pstm.executeQuery();
    52.                         int i = 0;
    53.                         while (res.next()) {
    54.                                 data[i][0] = res.getString("p_id");
    55.                                 data[i][1] = res.getString("p_nombre");
    56.                                 data[i][2] = res.getString("p_precio");
    57.                                 data[i][3] = res.getString("p_cantidad");
    58.                                 i++;
    59.                         }
    60.                         res.close();
    61.                         // se añade la matriz de datos en el DefaultTableModel
    62.                         tablemodel.setDataVector(data, columNames);
    63.                 } catch (No tienes permisos para ver links. Registrate o Entra con tu cuenta e) {
    64.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta.err.println(e.getMessage());
    65.                 }
    66.                 return tablemodel; //Retornamos la matriz de datos para que sea cargada en el evento "VER PRODUCTOS"
    67.         }
    68.  
    69.         //Metodo para editar/actualizar un registro
    70.         public boolean editarProducto(No tienes permisos para ver links. Registrate o Entra con tu cuenta id, No tienes permisos para ver links. Registrate o Entra con tu cuenta nombre, No tienes permisos para ver links. Registrate o Entra con tu cuenta _precio,No tienes permisos para ver links. Registrate o Entra con tu cuenta _cantidad) {
    71.                 //Se valida el producto
    72.                 if (nombre.trim().length() > 0 && id.trim().length() > 0) {
    73.                         try {
    74.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta precio = No tienes permisos para ver links. Registrate o Entra con tu cuenta.parseDouble(_precio.replace(",", "."));
    75.  
    76.                                 int cantidad = No tienes permisos para ver links. Registrate o Entra con tu cuenta.parseInt(_cantidad);
    77.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta actualizar = "UPDATE  `producto` SET  `p_nombre` = ?,`p_precio` =  ?,`p_cantidad` =  ?  WHERE  `p_id` = ?";
    78.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta consulta = conexionMYSQL.getConexion()
    79.                                                 .prepareStatement(actualizar);
    80.                                 consulta.setString(1, nombre);
    81.                                 consulta.setDouble(2, precio);
    82.                                 consulta.setInt(3, cantidad);
    83.                                 consulta.setString(4, id);
    84.  
    85.                                 if (consulta.executeUpdate() == 1) {
    86.                                  //Si la consulta se ejecuto correctamente devolvemos verdadero
    87.  
    88.                                         bandera = true;
    89.                                 } else { //Sino devolvemos falso
    90.                                         bandera = false;
    91.                                 }
    92.                         } catch (No tienes permisos para ver links. Registrate o Entra con tu cuenta e) {
    93.  
    94.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println(e);
    95.                         }
    96.                 }
    97.                 return bandera;
    98.  
    99.         }
    100.  
    101.         //Metodo para eliminar un producto
    102.         public boolean EliminarProducto(No tienes permisos para ver links. Registrate o Entra con tu cuenta id, No tienes permisos para ver links. Registrate o Entra con tu cuenta nombre) {
    103.                 if (nombre.trim().length() > 0) { //Si se selecciono un registro se lo elimina
    104.  
    105.                         // se arma la consulta
    106.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta consultaSQL = " DELETE FROM producto WHERE  p_id='" + id
    107.                                         + "' ";
    108.                         // se ejecuta la consulta
    109.                         try {
    110.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta pstm = conexionMYSQL.getConexion()
    111.                                                 .prepareStatement(consultaSQL);
    112.                                 pstm.execute();
    113.                                 pstm.close();
    114.                                 res = true;
    115.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.showMessageDialog(null,
    116.                                                 "Registro eliminado correctamente!!");
    117.                         } catch (No tienes permisos para ver links. Registrate o Entra con tu cuenta e) {
    118.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.err.println(e.getMessage());
    119.                         }
    120.                 } else {  //Si no se selecciono un registro devuelve un error
    121.                         res = false;
    122.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta.showMessageDialog(null,
    123.                                         "Debe seleccionar un registro!!", "Error",
    124.                                         No tienes permisos para ver links. Registrate o Entra con tu cuenta.ERROR_MESSAGE);
    125.                 }
    126.                 return res;
    127.         }
    128.  
    129.         //Metodo que añade un producto a la base de datos
    130.         public boolean NuevoProducto(No tienes permisos para ver links. Registrate o Entra con tu cuenta id, No tienes permisos para ver links. Registrate o Entra con tu cuenta nombre, No tienes permisos para ver links. Registrate o Entra con tu cuenta precio,
    131.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta cantidad) {
    132.                 if (valida_datos(id, nombre, precio, cantidad)) {
    133.                         // se reemplaza "," por "."
    134.                         precio = precio.replace(",", ".");
    135.                         // Se arma la consulta
    136.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta consulta = " INSERT INTO producto ( p_id , p_nombre , p_precio, p_cantidad  ) "
    137.                                         + "VALUES ( '"
    138.                                         + id
    139.                                         + "','"
    140.                                         + nombre
    141.                                         + "', '"
    142.                                         + precio
    143.                                         + "'," + cantidad + " ) ";
    144.                         // se ejecuta la consulta
    145.                         try {
    146.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta pstm = conexionMYSQL.getConexion()
    147.                                                 .prepareStatement(consulta);
    148.                                 pstm.execute();
    149.                                 pstm.close();
    150.                                 return true; // Solo si la consulta se ejecuto devuelve TRUE en
    151.                                                                 // los demas casos FALSE
    152.                         } catch (No tienes permisos para ver links. Registrate o Entra con tu cuenta e) {
    153.                                 No tienes permisos para ver links. Registrate o Entra con tu cuenta.err.println(e.getMessage());
    154.                         }
    155.                         return false;
    156.                 } else
    157.                         return false;
    158.         }
    159.  
    160.         //Valida que el ID,NOMBRE Y PRECION SEAN VALIDOS
    161.         private boolean valida_datos(No tienes permisos para ver links. Registrate o Entra con tu cuenta id, No tienes permisos para ver links. Registrate o Entra con tu cuenta nombre, No tienes permisos para ver links. Registrate o Entra con tu cuenta precio,
    162.                         No tienes permisos para ver links. Registrate o Entra con tu cuenta cantidad) {
    163.                 if (id.equals("  -   ")) //Si el id es igual a - devuelve falso
    164.                         return false;
    165.                 else if (nombre.length() > 0 && precio.length() > 0
    166.                                 && cantidad.length() > 0) { //Si cumple la condicion  devuelve verdadero
    167.                         return true;
    168.                 } else   //Si ninguno de los dos cumple devuelve falso
    169.                         return false;
    170.         }
    171.  
    172. }
    173.  
      • Clase Ejecutable:
      Sera aquella que inicie la aplicacion e instancie al controlador con los objetos correspondientes.
      • Main
      Código: Java
      1. package ejecutable;
      2.  
      3. import controlador.Controlador;
      4. import modelo.Modelo;
      5. import vista.VentanaVista;
      6. import vista.VentanaVista2;
      7.  
      8. /*
      9.  * Main es la clase principal que se encarga de ejecutar y correr el programa
      10.  */
      11. public class Main {
      12.  
      13.         public static void main(No tienes permisos para ver links. Registrate o Entra con tu cuenta[] args) {
      14.                 VentanaVista2 vista2 = new VentanaVista2();
      15.                 VentanaVista vista = new VentanaVista();
      16.                 Modelo modelo = new Modelo();
      17.                 new Controlador(modelo, vista, vista2);
      18.           //Se pasa como parametro al controlador la vista y el modelo para que este los atienda.                                    
      19.  
      20.         }
      21.  
      22. }
      23.  

        Por ultimo solo tenemos que añadir el driver a nuestra aplicación y corrobar que todo ande bien.
        En eclipse: Click derecho en el proyecto Build Patch -> Configure Build Patch -> Libraries -> Add External Jars
                         

                                                   Proyecto andando:
                                                 


        Se pueden descargar la aplicacion desde aca -> No tienes permisos para ver links. Registrate o Entra con tu cuenta
        « Última modificación: Octubre 04, 2014, 05:04:15 pm por Expermicid »
        Ser mejor cada día es mi meta

         =LKI=

        Desconectado Expermicid

        • *
        • Underc0der
        • Mensajes: 457
        • Actividad:
          0%
        • Reputación 0
        • _-Expermicid-_
          • Ver Perfil
        • Skype: expermicid.xd
        « Respuesta #1 en: Octubre 04, 2014, 04:37:25 pm »
        Buenísimo LKI. Yo he utilizado java y postgres.

        Después  ponle a las etiquetas code el  '=java' asi colorea las palabras

        Saludos

        Desconectado LKI

        • *
        • Underc0der
        • Mensajes: 61
        • Actividad:
          0%
        • Reputación 0
        • |Un día sin aprender nada, es un día perdido..|
          • Ver Perfil
          • Email
        « Respuesta #2 en: Octubre 04, 2014, 04:38:58 pm »
        Ok ahora lo edito gracias :)
        Ser mejor cada día es mi meta

         =LKI=

        Desconectado ANTRAX

        • *
        • Administrator
        • Mensajes: 5377
        • Actividad:
          76.67%
        • Reputación 31
        • ANTRAX
          • Ver Perfil
          • Underc0de
          • Email
        • Skype: underc0de.org
        • Twitter: @Underc0de
        « Respuesta #3 en: Octubre 04, 2014, 05:17:31 pm »
        Muy bueno bro!! Se ve excelente!
        Te dare +1

        Saludos!
        ANTRAX


        Conectado Gabriela

        • *
        • Co Admin
        • Mensajes: 874
        • Actividad:
          15%
        • Reputación 15
          • Ver Perfil
          • Email
        « Respuesta #4 en: Octubre 05, 2014, 12:19:40 am »

        !Gracias, por tu contribución a la comunidad.!
         :-*

        G.

        Desconectado facufangio

        • *
        • Underc0der
        • Mensajes: 152
        • Actividad:
          0%
        • Reputación 0
        • < SE SIEMPRE EL MEJOR, PERO NO TE LO CREAS />
          • Ver Perfil
          • Email
        « Respuesta #5 en: Octubre 05, 2014, 11:49:26 am »
        Muy bueno LKI, me gusto mucho.

        GRACIAS POR TU APORTE!!!


        Saludos

        Desconectado Naab

        • *
        • Underc0der
        • Mensajes: 74
        • Actividad:
          0%
        • Reputación 0
          • Ver Perfil
          • Email
        « Respuesta #6 en: Octubre 05, 2014, 07:03:03 pm »
        No funciona, tendré que hacer algunos ajustes pero no se mucho java.

        Desconectado LKI

        • *
        • Underc0der
        • Mensajes: 61
        • Actividad:
          0%
        • Reputación 0
        • |Un día sin aprender nada, es un día perdido..|
          • Ver Perfil
          • Email
        « Respuesta #7 en: Octubre 05, 2014, 09:27:46 pm »


        No tienes permisos para ver links. Registrate o Entra con tu cuenta
        No funciona, tendré que hacer algunos ajustes pero no se mucho java.

        Naab decime en que parte no te funciona o cual es el problema que tenes así te ayudo.

        PD:
         
        Gracias a todos por comentar, sus comentarios y las visitas me ayudan a crecer y me dan confianza para seguir aportando en esta comunidad tan hermosa como es underc0de!.
        Ser mejor cada día es mi meta

         =LKI=

        Desconectado blackdrake

        • *
        • Co Admin
        • Mensajes: 1910
        • Actividad:
          20%
        • Reputación 15
          • Ver Perfil
        « Respuesta #8 en: Octubre 06, 2014, 06:21:49 am »
        Muy bueno LKI, estoy seguro de que si se hace bien funcionará perfectamente.

        Gracias por el aporte.

        Un saludo.



         

        ¿Te gustó el post? COMPARTILO!



        [Tutorial] Peticiones AJAX a Servlets

        Iniciado por Gus Garsaky

        Respuestas: 4
        Vistas: 4176
        Último mensaje Abril 11, 2015, 06:26:34 pm
        por Gabriela
        [Tutorial] JPA 2.1 - Parte I

        Iniciado por Gus Garsaky

        Respuestas: 1
        Vistas: 2336
        Último mensaje Abril 10, 2015, 09:49:19 am
        por Gus Garsaky
        Tutorial de Bluej

        Iniciado por Expermicid

        Respuestas: 3
        Vistas: 1857
        Último mensaje Agosto 02, 2013, 12:30:04 am
        por Flemon
        [Video Curso] Iniciacion a Java por DesarrolloWeb y EscuelaIT Mayo 2014

        Iniciado por graphixx

        Respuestas: 3
        Vistas: 1586
        Último mensaje Febrero 23, 2015, 10:13:28 am
        por Hu3c0
        Java Extremo [Video Cursos Completos] [Español] [ISO] 2009

        Iniciado por graphixx

        Respuestas: 9
        Vistas: 4583
        Último mensaje Diciembre 04, 2017, 02:36:34 am
        por graphixx