Eftersom du använde preparedstatement.setBlob(1, InputStream);
för att lagra bilden måste jag anta att du har lagrat den fysiska bildfilen/formatet och inte bara pixeldata.
Du måste läsa tillbaka detta bildformat och konvertera till ett bildformat som stöds för Swing/Java.
Börja med att få en Blob
referens till databasfältet...
Blob blob = rs.getBlob(1);
När du har en Blob
, kan du använda dess binära InputStream
och läs data...
BufferedImage image = null;
try (InputStream is = blob.getBinaryStream()) {
image = ImageIO.read(is);
} catch (IOException exp) {
exp.printStackTrace();
}
Nu kan du göra det till en ImageIcon
med new ImageIcon(image)
och placera detta i din bordsmodell...