Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Anzeigen von Bildern aus der MySQL-Datenbank in einer einzelnen Spalte von JTable

Da Sie preparedstatement.setBlob(1, InputStream); verwendet haben Um das Bild zu speichern, muss ich davon ausgehen, dass Sie die physische Bilddatei / das physische Bildformat gespeichert haben und nicht nur die Pixeldaten.

Sie müssen dieses Bildformat zurücklesen und in ein unterstütztes Bildformat für Swing/Java konvertieren.

Beginnen Sie damit, einen Blob zu erhalten Verweis auf das Datenbankfeld...

Blob blob = rs.getBlob(1);

Sobald Sie einen Blob haben , können Sie seinen binären InputStream verwenden und die Daten lesen...

BufferedImage image = null;
try (InputStream is = blob.getBinaryStream()) {
    image = ImageIO.read(is);
} catch (IOException exp) {
    exp.printStackTrace();
}

Jetzt können Sie daraus ein ImageIcon machen mit new ImageIcon(image) und füge dies in dein Tabellenmodell ein...