Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Exibindo imagens do banco de dados MySQL em uma única coluna do JTable


Como você usou preparedstatement.setBlob(1, InputStream); para armazenar a imagem, tenho que assumir que você armazenou o arquivo/formato da imagem física e não apenas os dados de pixel.

Você precisa ler este formato de imagem e converter para um formato de imagem suportado para Swing/Java.

Comece obtendo um Blob referência ao campo do banco de dados...
Blob blob = rs.getBlob(1);

Depois de ter um Blob , você pode usar seu binário InputStream e leia os dados...
BufferedImage image = null;
try (InputStream is = blob.getBinaryStream()) {
    image = ImageIO.read(is);
} catch (IOException exp) {
    exp.printStackTrace();
}

Agora, você pode torná-lo um ImageIcon usando new ImageIcon(image) e coloque isso dentro do seu modelo de mesa ...