Buenas tardes tengo que leer los datos de una base de datos y tengo un problema. Tengo tres clases llamadas Cliente, Artículos y Alquiler. Cuando quiero recuperar los datos de la base de datos no se como puedo recuperar los datos que están en la clase Articulo. He probado con : objAlquiler.setArticulo(objArticulo.setIdentificador(rs.getInt(1))); pero me da error. Me puede ayudar alguien?. Muchas Gracias.
private Cliente cliente; private Articulo articulo; private Date fecha;
public Cliente getCliente() { return cliente; }
public void setCliente(Cliente cliente) { this.cliente = cliente; }
public Articulo getArticulo() { return articulo; }
public void setArticulo(Articulo articulo) { this.articulo = articulo; }
public Date getFecha() { return fecha; }
public void setFecha(Date fecha) { this.fecha = fecha; }
public Alquiler(Cliente cliente, Articulo articulo, Date fecha) { this.cliente = cliente; this.articulo = articulo; this.fecha = fecha; }
public Alquiler(){
}
}
Funcion para recuperar datos:
public static HashMap<String, Alquiler> filtrarAlquileres(int tipoFiltro, String valor) throws Exception{ DataSource data = null; ResultSet rs = null; PreparedStatement st; st = null;
HashMap<String, Alquiler> hashAlquileres = new HashMap<String, Alquiler>();
try { data = new DataSource(); st = data.getStatement("SELECT NIF,IDENTIFICADOR,FECHA FROM ALQUILER WHERE NIF = ?"); st.setString(1, valor); rs = data.ejecutarSelect(st); while (rs.next()) { Alquiler objAlquiler = new Alquiler(); Articulo objArticulo = new Articulo(); Alquiler.setArticulo(objArticulo.setIdentificador(rs.getInt(1))); objAlquiler.setFecha(rs.getDate(4)); hashAlquileres.put(objAlquiler.getCliente().getNif(), objAlquiler);
} rs.close(); return hashAlquileres; } catch (SQLException ex) { System.err.println(ex.getMessage()); throw new Exception(ex.getMessage()); } finally { if (rs != null) rs.close(); if (st != null) st.close(); if (data != null) data.cerrarConexion(); } }
Buenas tardes tengo que leer los datos de una base de datos y tengo un problema.
Tengo tres clases llamadas Cliente, Artículos y Alquiler. Cuando quiero recuperar los datos de la base de datos no se como puedo recuperar los datos que están en la clase Articulo.
He probado con : objAlquiler.setArticulo(objArticulo.setIdentificador(rs.getInt(1)));
pero me da error.
Me puede ayudar alguien?.
Muchas Gracias.
public class Cliente {
private String nif;
private String nombre;
private String apellidos;
private Date nacimiento;
public String getNif() {
return nif;
}
public void setNif(String nif) {
this.nif = nif;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellidos() {
return apellidos;
}
public void setApellidos(String apellidos) {
this.apellidos = apellidos;
}
public Date getNacimiento() {
return nacimiento;
}
public void setNacimiento(Date nacimiento) {
this.nacimiento = nacimiento;
}
public Cliente(String nif, String nombre, String apellidos, Date nacimiento) {
this.nif = nif;
this.nombre = nombre;
this.apellidos = apellidos;
this.nacimiento = nacimiento;
}
public Cliente(){
}
}
public class Articulo {
private int identificador;
private String nombre;
private boolean mas18;
private boolean alquilado;
public int getIdentificador() {
return identificador;
}
public void setIdentificador(int identificador) {
this.identificador = identificador;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public boolean isMas18() {
return mas18;
}
public void setMas18(boolean mas18) {
this.mas18 = mas18;
}
public boolean isAlquilado() {
return alquilado;
}
public void setAlquilado(boolean alquilado) {
this.alquilado = alquilado;
}
public Articulo(int identificador, String nombre, boolean mas18, boolean alquilado) {
this.identificador = identificador;
this.nombre = nombre;
this.mas18 = mas18;
this.alquilado = alquilado;
}
public Articulo(){
}
}
public class Alquiler {
private Cliente cliente;
private Articulo articulo;
private Date fecha;
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
public Articulo getArticulo() {
return articulo;
}
public void setArticulo(Articulo articulo) {
this.articulo = articulo;
}
public Date getFecha() {
return fecha;
}
public void setFecha(Date fecha) {
this.fecha = fecha;
}
public Alquiler(Cliente cliente, Articulo articulo, Date fecha) {
this.cliente = cliente;
this.articulo = articulo;
this.fecha = fecha;
}
public Alquiler(){
}
}
Funcion para recuperar datos:
public static HashMap<String, Alquiler> filtrarAlquileres(int tipoFiltro, String valor) throws Exception{
DataSource data = null;
ResultSet rs = null;
PreparedStatement st;
st = null;
HashMap<String, Alquiler> hashAlquileres = new HashMap<String, Alquiler>();
try {
data = new DataSource();
st = data.getStatement("SELECT NIF,IDENTIFICADOR,FECHA FROM ALQUILER WHERE NIF = ?");
st.setString(1, valor);
rs = data.ejecutarSelect(st);
while (rs.next()) {
Alquiler objAlquiler = new Alquiler();
Articulo objArticulo = new Articulo();
Alquiler.setArticulo(objArticulo.setIdentificador(rs.getInt(1)));
objAlquiler.setFecha(rs.getDate(4));
hashAlquileres.put(objAlquiler.getCliente().getNif(), objAlquiler);
}
rs.close();
return hashAlquileres;
} catch (SQLException ex) {
System.err.println(ex.getMessage());
throw new Exception(ex.getMessage());
} finally {
if (rs != null) rs.close();
if (st != null) st.close();
if (data != null) data.cerrarConexion();
}
}