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:
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í: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; } }
Código:
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.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; }
Por favor si me pueden orientar, gracias de antemano.