Vì bạn đã sử dụng preparedstatement.setBlob(1, InputStream); để lưu trữ hình ảnh, tôi phải giả định rằng bạn đã lưu trữ tệp / định dạng hình ảnh vật lý chứ không chỉ dữ liệu pixel.
Bạn cần đọc lại định dạng hình ảnh này và chuyển đổi sang định dạng hình ảnh được hỗ trợ cho Swing / Java.
Bắt đầu bằng cách lấy Blob tham chiếu đến trường cơ sở dữ liệu ...
Blob blob = rs.getBlob(1);
Sau khi bạn có Blob , bạn có thể sử dụng nó là nhị phân InputStream và đọc dữ liệu ...
BufferedImage image = null;
try (InputStream is = blob.getBinaryStream()) {
image = ImageIO.read(is);
} catch (IOException exp) {
exp.printStackTrace();
}
Bây giờ, bạn có thể đặt nó thành ImageIcon sử dụng new ImageIcon(image) và đặt cái này trong mô hình bảng của bạn ...