Ai pessoal tenho esse método que me traz do banco Uma descrição e uma imagem do Tipo Blob
e adiciona tudo em um List
public List<DocumentoBean> consultaDocumentos(UsuarioBean usuarioBean) throws SQLException {
PreparedStatement preparedStatement;
Connection conexao = BancoDAO.getBancoDao();
ResultSet resultSet;
DocumentoBean documentoBean;
List<DocumentoBean> listaDocumentos = new ArrayList<DocumentoBean>();
StringBuilder query = new StringBuilder();
query.append(" SELECT");
query.append(" USU.USU_NOME, TIPO_DOC.DOC_DESCRICAO, ");
query.append(" IMG_DOC.IMD_IMAGEM ");
query.append(" FROM");
query.append(" IMAGEM_DOCUMENTO IMG_DOC JOIN ");
query.append(" USU_DOCUMENTO USU_DOC ON (IMG_DOC.IMD_COD = USU_DOC.IMD_COD) JOIN ");
query.append(" TIPO_DOCUMENTO TIPO_DOC ON (USU_DOC.DOC_COD = TIPO_DOC.DOC_COD) JOIN ");
query.append(" USUARIO USU ON (USU_DOC.USU_COD = USU.USU_COD) ");
query.append(" WHERE USU.USU_COD = ?");
preparedStatement = conexao.prepareStatement(query.toString());
preparedStatement.setLong(1, usuarioBean.getCodigo());
resultSet = preparedStatement.executeQuery();
while(resultSet.next()) {
documentoBean = new DocumentoBean();
documentoBean.setNomeDocumento(resultSet.getString("DOC_DESCRICAO"));
documentoBean.setDocumento(resultSet.getBlob("IMD_IMAGEM"));
listaDocumentos.add(documentoBean);
}
return listaDocumentos;
}
}
Depois tenho essa classe que lê cada linha do meu List
public class DocumentoBO {
public static void main(String[] args) {
DocumentoBO documentoBO = new DocumentoBO();
UsuarioBean usuarioBean = new UsuarioBean();
usuarioBean.setCodigo(1258L);
DocumentoBean documentoBean = new DocumentoBean();
try {
documentoBean.setListaDocumentos(documentoBO.listaDocumentos(usuarioBean));
for (DocumentoBean doc : documentoBean.getListaDocumentos()) {
System.out.println(doc.getNomeDocumento());
System.out.println(doc.getDocumento());
}
} catch (SQLException ex) {
Logger.getLogger(DocumentoBO.class.getName()).log(Level.SEVERE, null, ex);
}
}
public List<DocumentoBean> listaDocumentos(UsuarioBean usuario) throws SQLException {
DocumentoBean documentoBean = new DocumentoBean();
DocumentoDAO documentoDAO = new DocumentoDAO();
documentoBean.setListaDocumentos(documentoDAO.consultaDocumentos(usuario));
return documentoBean.getListaDocumentos();
}
}
Agora como que consigo fazer a saída de um arquivo ZIP com minhas imagens dentro e cada imagem com o nome do Documento?