problemas entre base de datos y objetos de clases

uno
03 de Enero del 2006
Hola el problema que tengo es el siguiente.
Me he hecho con el editor visual de eclipse una pantalla con swin, tengo una clase X (con atributos y metodos) y una tabla en una base de datos (que se corresponde con la clase que he mencionado).

PRIMERO:
Cuando en la pantalla visual meto los datos lo que hago es crearme un objeto de la clase X y llamo a un metodo que tengo implementado dentro de la clase que es insertar en BBDD. ¿Esto esta bien?

SEGUNDO: Si lo anterior es correcto, cuando hago una consulta a la BBDD ¿como puedo hacer para volcar la informacion a un objeto de la clase X?
lo que yo hago es:
ResulSet rs;
rs = con.getConsulta("Select * ...");
while (rs.next()) {
campoVisualiar = rs.getObject(4).toString()
}
pero no se como volcar la informacion a un objeto de la clase X
No se si la filosifia que uso con respecto a interfaz+clase+tablaBBDD es correcta.
Alguien me puede ayudar ???
Espero que haya quedado claro

uno
03 de Enero del 2006
Hola otra vez, perdona que vuelva a molestar, pero no acabo de ajustar todos los conceptos en mi cabeza.
¿Me preguntaba si tu tienes o conoces de algun sitio donde pueda descargarme un ejemplo sencillo - basico para ver si asi centro mis ideas?

Me lio bastante y no acabo de tener una idea clara.

Yo en mi caso tengo dos tablas (a y B) que tienen una relacion de 1 a N.
Por lo que he leido debere de tener.
1 clase A y una clase B en la que defina atributos y metodos
1 para A y otro para B
1 CloudscapeCustomerDAO para A y otro para B
un FactoryDao para los dos
¿no?
El otro problema es donde debo de meter las sentencias sql de insertar, borrar, ...

neossoftware
03 de Enero del 2006
Hola ahi te va ala receta de cocina:

Para representar una tabla lo que debes de hacer en java es crear el llamado DTO.

La llamare por ejemplo Cliente, esta tabla tambien esta en la base de datos.

public class Cliente {
private String nombre;
private String apellidos;

//metodos get y set
}

ahora lo que sigue es crear una interface que contenga las operaciones que vas a hacer en la base de datos

public interface ClienteDAO {
public Cliente findByPrymaryKey(String id);
public List findAllClients();
}

ahora implementas el DAO

public class ClienteDAOImpl implements ClienteDAO {
// aqui se coloca ya el codigo SQL y utilizando el DTO
//y no importando a cuantas tablas tengas tengas que accesar
}

El factory regresa una referencia a la interfaz DAO

public class ClienteFactory {
public ClienteDAO getClienteDAO() {
return new ClienteDAOImpl
}
}

y Listo tienes el patron

uno
03 de Enero del 2006
ok, ahora me ha quedado claro.
Muchisimas gracias por tu ayuda.
saludos

neossoftware
03 de Enero del 2006
Que tal me da mucho gusto que hagan este tipo de preguntas porque se interesan mucho por la arquitectura de los sistemas que estan desarrollando.

Ahora respecto a lo de tu pregunta lo que debes de hacer es aplicar el "patron DAO", que es una buena forma ordenada de accesar a la base de datos.

La forma en que lo tienes planteado en este momento no es la más adecuada, por que no estas dividiendo los componentes de vista con los accesos a datos, te falta una capa intermedia, la llamada capa DAO.

Checate esta URL

http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html

Es la recomendación de SUN para poder accesar a la Base de datos. Espero que esta información te sea de utilidad.

Saludos!!!!!

Viva Linux Debian y Java

uno
03 de Enero del 2006
muxas gracias. Intuia q algo no lo estaba haciendo bien.
Gracias por la ayuda.