:DMal comentei os ultimos post’s agradecendo as dicas e ja to com outras duvidas…hehe
Apenas para abstrair minha duvida, fiz as principais operações de manipulação utlizando DAO (Entidade Livro utilizando imagens)
minha dúvida éh: como listar com JSTL e EL a imagem do banco de dados. Implementei tanto o metodo lista quanto o metodo adiciona(DAO).
Consegui inserir a imagem no banco de dados Mysql.
Agora estou em duvidas em como pegar a imagem listada de um ArrayList, através de JSTL e EL.
Segue abaixo o código do modelo que implementei apenas para solucionar tal falta de conhecimento[Se estiver errado ou faltando algo, principalmente na listagem, agradedço as ajudas e dicas]. Bom tai o código:
package Model;
public class Livro {
private int id;
private String titulo;
private byte[] imagem;
public Livro(){}
public Livro(int id, String titulo, byte[] imagem) {
this.id = id;
this.titulo = titulo;
this.imagem = imagem;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public byte[] getImagem() {
return imagem;
}
public void setImagem(byte[] imagem) {
this.imagem = imagem;
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
}
package Model;
import com.mysql.jdbc.Blob;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class LivroDAO {
private Connection con;
private PreparedStatement stmt;
private ResultSet rs;
private FileInputStream fis;
private String adiciona = "insert into livro (liv_titulo, liv_imagem) values (?, ?)";
private String lista = "select * from livro order by liv_titulo";
public void adiciona(Livro liv, File img) throws SQLException, FileNotFoundException
{
try
{
this.con = new ConexaoMysql().getConexao();
this.stmt = con.prepareStatement(adiciona);
this.stmt.setString(1, liv.getTitulo());
this.fis = new FileInputStream(img);
this.stmt.setBinaryStream(2, fis, img.length());
this.stmt.execute();
}
catch(SQLException e)
{
System.out.println("Falha na Inserção do Livro: " + e.getMessage());
}
catch(FileNotFoundException e)
{
System.out.println("Imagem não encontrada: " + e.getMessage());
}
finally
{
this.stmt.close();
this.con.close();
}
}
public List<Livro> lista() throws SQLException{
try
{
this.con = new ConexaoMysql().getConexao();
this.stmt = con.prepareStatement(lista);
this.rs = stmt.executeQuery();
ArrayList<Livro> livros = new ArrayList<Livro>();
while(rs.next())
{
Livro liv = new Livro();
liv.setId(rs.getInt(1));
liv.setTitulo(rs.getString(2));
Blob imagem = (Blob) rs.getBlob(3);
byte[] imgData = imagem.getBytes(1, (int)imagem.length());
liv.setImagem(imgData);
livros.add(liv);
}
return livros;
}
catch(SQLException e)
{
System.out.println("Falha na listagem dos livros: " + e.getMessage());
return null;
}
finally
{
this.rs.close();
this.stmt.close();
this.con.close();
}
}
}
Até oq fiz ai, a duvida é na hora de listar! Como listo uma imagem voltada do banco com JSTL e EL? Outra duvida era também na questao de : Falta algo no metodo lista()?
Gente espero nao atrapalhar nessas tantas duvidas, vcs ajudam com uma questão e a solucção me faz gerar outra duvida…hehehehe
Bom…é isso…desde já GRATOO…