Foros del Web » Programación para mayores de 30 ;) » Java »

Pasar valores a metodo

Estas en el tema de Pasar valores a metodo en el foro de Java en Foros del Web. Holas a todos: Estoy haciendo una pequeña aplicacioncilla de bases de datos. Aunque es la segunda que hago, me lo estoy replanteando todo con tal ...
  #1 (permalink)  
Antiguo 02/05/2009, 12:55
(Desactivado)
 
Fecha de Ingreso: abril-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 1
Pregunta Pasar valores a metodo

Holas a todos:

Estoy haciendo una pequeña aplicacioncilla de bases de datos. Aunque es la segunda que hago, me lo estoy replanteando todo con tal de "hacer las cosas bien".

Una de las cosas que me gustaria plantear es cómo haría esto:

Tengo una clase "ClaseBases" que contiene todos los metodos que "hablan" con la base de datos. Así por ejemplo, tengo un metodo "Crea()" que me crea todas las tablas de la base (no hace falta pasarle parámetros).
Tengo otra clase que tiene el GUI, que es un JFrame. Cuando pulso el boton de "Guardar" de mi GUI, llamo al metodo GuardaFicha, este método acepta como parametros los datos extraidos del JFrame. Algo así:
GuardaFicha(campo1,campo2,campo3,campo4,campo5)
Esto está mas o menos bien para 5 campos, pero ¿y si alguna vez tengo 10?. Otra cosa es que estos campos, algunos son numericos y otros de fecha, aunque la mayoria son Strings de caracteres.
Tambienlos guarda y despues cierra la base.

Supongo que esto tiene su miga, pero estaré atento para entenderlo todo.
El proyecto está hecho con NetBeans (que a mi me gusta más). Si alguien está interesado veria la manera de pasarle una copia del proyecto.
Gracias por adelantado.

Última edición por itubal; 02/05/2009 a las 13:01
  #2 (permalink)  
Antiguo 02/05/2009, 13:07
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Pasar valores a metodo

todo eso se resume en un solo termino:

JavaBeans

Saludos
  #3 (permalink)  
Antiguo 04/05/2009, 01:11
(Desactivado)
 
Fecha de Ingreso: abril-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 1
Respuesta: Pasar valores a metodo

Hola:

Gracias a Drac94 por su respuesta.

He estado mirando algo sobre JavaBeans (mas que nada en la wikipedia) y no parece muy complicado.

Aunque creo que el sistema lo que hace es complicar más el programa y tal vez hacerlo más dificil de entender y lo mismo más lento en ejecutarse, se multiplican las líneas de código. Tampoco tengo muy claro que las clases (que se multiplican) puedan ser verdaderamente reutilizables.

Gracias
  #4 (permalink)  
Antiguo 04/05/2009, 14:06
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Pasar valores a metodo

lo de la reutilizabilidad, es mas bien aplicado a elementos visuales, por ejemplo tu quieres que un jTextField acepte solo numeros, haces un bean que implemente esta opcion y luego ya solo la reutilizas en otro proyecto.

No se complica el programa, al contrario, lo simplifica y lo que haces es separarlo por capas, ademas estarias aplicando una mayor orientacion a objetos ya que manejarias los objetos, como objetos y no como propiedades separadas
  #5 (permalink)  
Antiguo 04/05/2009, 16:08
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Pasar valores a metodo

Personalmente, creo que no hay que obsesionarse demasiado con crear "las clases exactas" por que no hay una receta perfecta que si no la sigues está todo mal. Cuando crear mas o menos clases es algo que se puede medio-aprender, viendo patrones y codigo de otras personas, pero es un sentido que se desarrolla con la práctica.

La experiencia y el sentido común son la mejor guía.

En todo caso, centralizar los accesos a BDD en pocas clases es algo que se suele hacer, y, en muchos casos, tambien el separar las clases del GUI de la "lógica", para que los cambios en una parte no afecten drásticamente a la otra.

En mi caso, suelo pensar en qué le pasará a mi programa cuando tenga que evolucionar en la dirección más probable (es una perdida de tiempo prepararse para lo improbable). Si costará mucho trabajo adaptarlo para lo más probable, es que no lo estoy haciendo bien.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #6 (permalink)  
Antiguo 13/05/2009, 15:09
(Desactivado)
 
Fecha de Ingreso: abril-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 1
Respuesta: Pasar valores a metodo

Cita:
No se complica el programa, al contrario, lo simplifica y lo que haces es separarlo por capas, ademas estarias aplicando una mayor orientacion a objetos ya que manejarias los objetos, como objetos y no como propiedades separadas
Pues a mi se me ha complicado. A ver.. viendo aplicaciones que utilizan MVC, he podido leer en la wikipedia algo sobre Rubí on Rails.

Cita:
En las aplicaciones web orientadas a objetos sobre bases de datos, el Modelo consiste en las clases que representan a las tablas de la base de datos.
A ver, yo he hecho un getCampo() y un setCampo() para pasarle a mi clase BasesBean los datos para hacer un SELECT o un INSERT INTO. Claro dos metodos para cada campo. Yo tengo un monton de campos en tres tablas.
¿deberia hacer un setTabla() y un getTabla() y pasar al metodo un objeto con todos los datos de los campos de la tabla?

JO! A ver si termino un poco más lo que estoy haciendo y os paso toooodo el codigo.
  #7 (permalink)  
Antiguo 13/05/2009, 16:37
 
Fecha de Ingreso: noviembre-2008
Mensajes: 115
Antigüedad: 15 años, 6 meses
Puntos: 4
Respuesta: Pasar valores a metodo

Lo mas normal, es que para cada tabla crearas una clase, y para cada columna de la tabla un atributo, y para cada atributo un metodo set y uno get. Luego, el metodo que acceda a la base de datos, te deberia devolver un objeto del tipo de la tabla que estas accediendo, y con los metodos de la clase, podrias acceder a los atributos. Imaginate algo asi:

Base de datos
Código:
CREATE TABLE `unaTabla` (
  `unId` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  `unCampoInteger` INTEGER UNSIGNED NOT NULL,
  `unCampoVARCHAR` VARCHAR(45) NOT NULL,
  `unCampoDouble` DOUBLE NOT NULL,
  PRIMARY KEY(`unId`)
)
Objeto tabla
Código:
public class UnaTabla{
private int unId; private int unCampoInteger; private String unCampoVARCHAR; private double unCampoDouble; public void setUnId(int unId){ this.unId = unId; } public int getUnId(){ return this.unId } public void setUnCampoInteger(int unCampoInteger){ this.unCampoInteger = unCampoInteger; } public int getUnCampoInteger(){ return this.unCampoInteger }
}
Luego, en tu clase que accede a la base de datos, deberias tener un metodo que te devuelva un objeto de tipo UnaTabla (public UnaTabla getRegistro(), por ejemplo, o como lo quieras llamar y con los parametros que quieras) o una lista de objetos UnaTabla (public ArrayList getRegistros(), por ejemplo, o como lo quieras llamar y con los parametros que quieras).

Espero que te sirva.
  #8 (permalink)  
Antiguo 13/05/2009, 17:13
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Pasar valores a metodo

Complicado no es igual a laborioso!!!

ahora, para todo hay una solucion, en donde trabajo, lo que se hizo fua hacer un generador de codigo, que lo que hace es leer las tablas de la BD y hacerles su JavaBean, asi te ahorras el estar escribiendo, que creo que es lo que para ti quiere decir complicado

Saludos
  #9 (permalink)  
Antiguo 14/05/2009, 01:30
(Desactivado)
 
Fecha de Ingreso: abril-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 1
Respuesta: Pasar valores a metodo

Si, laborioso si es. Algunas veces las cosas se complican porque se hacen dificiles y otras se complican porque aún siendo fáciles hay tal cantidad que se vuelven inmanejables.

Claro, que yo mismo me lo contestaria, en vez de tener una clase BasesBean con las tres tablas con muchos atributos... pues lo que vosotros decís, hago tres clases una para cada tabla, joper.. si es que es lógico.

Por ahora lo voy a dejar en una clase, porque total ya lo tengo hecho y prefiero deserrollar por otro lado. Pero en cuanto tenga que añadir una tabla o aunque sea un campo modifico todo.

Jo! a ver si hoy termino algo y os pasaria el proyecto de NetBeans completo.


MUCHAS GRACIAS a todos.

P.D. Corta y pega tampoco va mal, total para unos 20 campos... y yo no voy a desarrollar profesionalmente todos los días 100 campos...
  #10 (permalink)  
Antiguo 14/05/2009, 04:44
 
Fecha de Ingreso: noviembre-2008
Mensajes: 115
Antigüedad: 15 años, 6 meses
Puntos: 4
Respuesta: Pasar valores a metodo

De todas formas, que es lo que te resulta tan laborioso? Los set y los get? No se con que IDE trabajas, pero tanto eclipse como netbeans (son los que conozco, no se los demas) te los hacen solos si se lo dices.
  #11 (permalink)  
Antiguo 14/05/2009, 13:31
(Desactivado)
 
Fecha de Ingreso: abril-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 1
Respuesta: Pasar valores a metodo

Joper.. ahora si que me has dejao KO!

Utilizo NetBeans.

Pero os prometo que os envio la aplicacioncita para que le echeis un vistazo en cuanto se vea algo.
Estoy tardando mucho, pero jo! es que de la anterior a esta no me acuerdo de muchas cosas. Lo que hace el no programar en mucho tiempo.

Un saludo y muchiiiiiisimas gracias a todos.

Última edición por itubal; 14/05/2009 a las 13:36
  #12 (permalink)  
Antiguo 20/05/2009, 13:22
(Desactivado)
 
Fecha de Ingreso: abril-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 1
Respuesta: Pasar valores a metodo

Hola a todos de nuevo.
Lo primero es agradeceros todas las respuestas que me dais, el tiempo y el trabajo que dedicais a responderme y la paciencia que teneis conmigo.

Como dije os envio la carpeta del proyecto en NetBeans. Los fuentes estan ahí.

Me gustaria que me comentarais como va la cosa, (lo que hay funciona) Hay un Readme que os ayudará. Está tambien el motor de la base de datos y un BAT que arranca el servidor de BBDD. Por consola salen muchos mensajes que me ayudan a depurar. (No me he metido a aprender a manejar el debugger, seguro que es superfácil).
Los barcos metidos es fácil de saber cuales son. Nib 123, 124, 125. Podeis meter más.

Me quiero centrar más en el modelo-vista-presenter, por lo menos tener algo claro y desarrollar a saco. (si es que puedo).
Seguiré poniendo la carpeta del proyecto por si alguien lo quiere como ejemplo. Pienso que lo más importante es mostrar los fuentes siempre.

GRACIAS muchas gracias de antemano.

JO! No me deja poner enlaces en Megaupload. Bueno .. despues de poner la direccion de megaupload y de punto com poneis ... /?d=OLXWZ486
Lo siento, es que no me deja postear.
  #13 (permalink)  
Antiguo 21/05/2009, 15:10
(Desactivado)
 
Fecha de Ingreso: abril-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 1
Respuesta: Pasar valores a metodo

Holas:

Si alguien lo ha intentado y no le ha dejabo bajarlo que me lo comunique. Si hay alguien que lo ha bajado... que me lo diga. Aunque lo haya bajado solo por curiosidad o para aprender algo sencillo los que empiezan.

GRACIAS
  #14 (permalink)  
Antiguo 25/05/2009, 15:33
(Desactivado)
 
Fecha de Ingreso: abril-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 1
Respuesta: Pasar valores a metodo

Por fin....

El archivo está aqui:
Programa NEMO (No Es Muy Operativo)

GRACIAS a todos
  #15 (permalink)  
Antiguo 26/05/2009, 14:44
(Desactivado)
 
Fecha de Ingreso: abril-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 1
Respuesta: Pasar valores a metodo

Como he visto que los fuentes se complican si no se es usuario de NetBeans, los pongo en un formato mas amigable. Seguramente se pueden exportar como Java, pero no he encontrado la opción.

Los fuentes están aqui:
Fuentes del programa NEMO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:39.