Hola a todos, anteriorente hice una aplicación en vb.net, pero ahora quiero pasarlo este sistema a java y estoy desarrollando, y presente con un inconveniente:
1. Pasé mis tablas de mysql a clases de java, las tablas son las sigueintes:
- Almacen
- Almacen_TipoAlmacen
- TipoAlmacen
Es una relación de muchos a muchos.
Código:
package ComponenteModelo;
public class Almacen {
private Integer idAlmacen;
private String aCodigo;
private String aDescripcion;
private String aLugar;
private String aObservaciones;
private boolean aEstado;
public Integer getIdAlmacen() {
return idAlmacen;
}
public void setIdAlmacen(Integer idAlmacen) {
this.idAlmacen = idAlmacen;
}
public String getaCodigo() {
return aCodigo;
}
public void setaCodigo(String aCodigo) {
this.aCodigo = aCodigo;
}
public String getaDescripcion() {
return aDescripcion;
}
public void setaDescripcion(String aDescripcion) {
this.aDescripcion = aDescripcion;
}
public String getaLugar() {
return aLugar;
}
public void setaLugar(String aLugar) {
this.aLugar = aLugar;
}
public String getaObservaciones() {
return aObservaciones;
}
public void setaObservaciones(String aObservaciones) {
this.aObservaciones = aObservaciones;
}
public boolean getaEstado() {
return aEstado;
}
public void setaEstado(boolean aEstado) {
this.aEstado = aEstado;
}
}
Código:
package ComponenteModelo;
public class Almacen_TipoAlmacen {
private TipoAlmacen tipoalmacen;
private Almacen almacen;
private boolean estado;
public TipoAlmacen getTipoalmacen() {
return tipoalmacen;
}
public void setTipoalmacen(TipoAlmacen tipoalmacen) {
this.tipoalmacen = tipoalmacen;
}
public Almacen getAlmacen() {
return almacen;
}
public void setAlmacen(Almacen almacen) {
this.almacen = almacen;
}
public boolean getEstado() {
return estado;
}
public void setEstado(boolean estado) {
this.estado = estado;
}
}
Código:
package ComponenteModelo;
public class TipoAlmacen {
private Integer idtipoalmacen;
private String nombre;
public Integer getIdtipoalmacen() {
return idtipoalmacen;
}
public void setIdtipoalmacen(Integer idtipoalmacen) {
this.idtipoalmacen = idtipoalmacen;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
}
Hasta ahi no tengo problemas en ingresar y mostrar los datos; el detalle es cuando quiero ver en una tabla el codigo de almacen, el nombre y el tipodealmacen, con consultas sql, estuve viendo así:
Código:
public static ArrayList<Almacen> mostrarAlmacen() throws SQLException {
Connection cnn = BD.getConnection();
PreparedStatement ps = null;
ArrayList<Almacen> lista = new ArrayList<Almacen>();
ps = cnn.prepareStatement("SELECT `aCodigo`,`tipoalmacen`.`idtipoalmacen`,`aDescripcion`,`empresa`.`idempresa`,`aLugar`,`aObservaciones`,`aEstado` from almacen \n" +
"SELECT `aCodigo`,`tipoalmacen`.`nombre`,`aDescripcion`,`aLugar`,`aObservaciones`,`aEstado` from almacen \n" +
"inner join almacen_tipoalmacen on almacen.idalmacen=almacen_tipoalmacen.idalmacen\n" +
"inner join tipoalmacen on almacen_tipoalmacen.idtipoalmacen=tipoalmacen.idtipoalmacen\n" +
"GROUP BY ACODIGO");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Almacen Alm = new Almacen();
Alm.setaCodigo(rs.getString(1));
Alm.setaDescripcion(rs.getString(3));
Alm.setaLugar(rs.getString(5));
Alm.setaObservaciones(rs.getString(6));
Alm.setaEstado(rs.getBoolean(7));
lista.add(Alm);
}
cnn.close();
ps.close();
return lista;
}
Ahi solo me muestra los datos de la tabla almacen en el arraylist para que me muesre el tipo tengo que instanciar la clase Tipoalmacen ? o Almacen_tipoAlmacen y como se puede hacer cuando son de mas tablas ya sea 3 o 4 tablas.
Por favor si me pueden orientar, gracias de antemano.